IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

MYSQL -> Transfert de données entre 2 tables ! Champs buggué [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Khalyss
    Homme Profil pro
    Développeur .NET et Web
    Inscrit en
    Septembre 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET et Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 47
    Par défaut MYSQL -> Transfert de données entre 2 tables ! Champs buggué
    Bonjour,

    Je vous explique le contexte. Je récupère dans un fichier XML un certains nombre de champs que je place ensuite dans une table que j'appellerai "provisoire". Jusqu'ici tous va bien ça fonctionne.

    Cependant j'ai besoins de transférer mes données jusqu'à une seconde table et la ça pose problème.
    Le transfert se passe bien sur 18 de mes 20 champs, mais j'ai 2 champs buggué et je ne comprend pas pourquoi.

    Les 2 champs sont du même type entres les 2 tables ( VARCHAR(255) -> VARCHAR(255) et TEXT -> TEXT ).

    Je souhaiterai pouvoir "transtyper" mes données, les reconvertir dans le même type de données enfaite pour ensuite les transférer, je sais pas si c'est bien claire :s

    Voici ma boucle d'envoi de données d'une table vers l'autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    $sql = mysql_query("SELECT * FROM jos_annonces_beemploi");
    $row = mysql_num_rows($sql);
    echo "$row lignes\n";
    $i = 1 ;
     
    while($row = mysql_fetch_array($sql))
    {
    echo $i;
    $requete2 = mysql_query("REPLACE INTO test (uid, 
                                                          companyid, 
                                                          title, 
                                                          jobcategory, 
                                                          jobtype, 
                                                          jobstatus, 
                                                          jobsalaryrange, 
                                                          description, 
                                                          qualifications, 
                                                          country, 
                                                          state, 
                                                          county, 
                                                          city, 
                                                          noofjobs, 
                                                          heighestfinisheducation, 
                                                          created, 
                                                          experience, 
                                                          sendemail, 
                                                          startpublishing, 
                                                          stoppublishing  
                                                          ) 
                                                VALUES ('".$row[idPersonneBeEmploi]."',
                                                        '".$row[idSocieteBeEmploi]."',
                                                        '".$row[titre_annonce]."',
                                                        '".$row[idJobCategoryBeEmploi]."',
                                                        '".$row[idTypeContrat]."',
                                                        '".$row[idStatutAnnonce]."',
                                                        '".$row[idTrancheSalaireBeEmploi]."',
                                                        '".$row[notre_societe]."',
                                                        '".$row[TexteCompetences]."',
                                                        'FR',
                                                        '".$row[idRegionBeEmploi]."',
                                                        '".$row[departement]."',
                                                        '".$row[annonce_localisation]."',
                                                        '".$row[ref_annonce]."',
                                                        '".$row[idNiveauEtudeBeEmploi]."',
                                                        '".$row[date_parution]."',
                                                        '".$row[idExperienceBeEmploi]."',
                                                        '1',
                                                        '".$row[date_validation_publication_annonce]."',
                                                        '".$row[date_butoire_demande_client]."'
                                                        )"
                                                    );                                                 
     
    $i++;
    }

    PS : Les champs buggué sont "titre-annonces" et "TextesCompetences".
    Merci d'avance !

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Que veux-tu dire par "champs buggués" ?

    D'ailleurs, on ne dit pas champs mais colonnes !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éclairé Avatar de Khalyss
    Homme Profil pro
    Développeur .NET et Web
    Inscrit en
    Septembre 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET et Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 47
    Par défaut
    Disons que j'ai tester la même requête mais colonne par colonne.

    Enfait, je récupère dans mon fichier XML , une annonce d'emploi, avec un titre, une localisation etc etc, que j'extraie et place dans ma première table.

    Le soucis se trouve lors de l'insertion des données dans la secondes tables, lorsque que j'exécute cette requête je me retrouve avec 4 annonces dans la 2nd table au lieu de 6 présentes dans la première.

    Ayant chercher d'où venait le problème j'ai procédé a l'envoie de la même requête mais colonne par colonne, il se trouve que le soucis viens du transfert de la colonne titre_annonce -> title idem pour TextCompetences -> qualifications.

    Hors les deux colonnes sont du même type ( VARCHAR(255) -> VARCHAR(255) / TEXT -> TEXT ) !

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Fait un echo de la requête qui pose problème réellement envoyée au serveur.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre éclairé Avatar de Khalyss
    Homme Profil pro
    Développeur .NET et Web
    Inscrit en
    Septembre 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET et Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2010
    Messages : 47
    Par défaut
    le résultat de la requête donne :

    1,,1,1,1,,

    Ce qui imagerai le fait que je me retrouve qu'avec 4 Annonces bien transférer au lieu de 6 ( 1,1,1,1,1,1,). De plus ce sont bel et bien l'annonce 2 et l'annonce 6 qui manque à l'appel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while($row = mysql_fetch_array($sql))
    {
    //echo $i;
    $requete2 = mysql_query("REPLACE INTO test (title) VALUES ('".$row[titre_annonce]."')").'<br />';
    echo $requete2;
    //$i++;
    }

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Ta requête a rétréci au lavage ?

    Que donne echo $requete2 sur la première requête ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transfert de données entre deux tables avec conditions
    Par ric009 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/03/2014, 09h47
  2. [Débutant] transfert de données entre 2 tables
    Par JetLibre dans le forum VB.NET
    Réponses: 7
    Dernier message: 18/10/2013, 13h25
  3. [AC-2010] Transfert de données entre deux tables avec recopie
    Par Mehdouche dans le forum VBA Access
    Réponses: 7
    Dernier message: 15/07/2013, 05h38
  4. Transfert de données entre deux tables différentes
    Par settoken dans le forum Requêtes
    Réponses: 6
    Dernier message: 04/09/2009, 03h37
  5. transfert de données entre deux tables
    Par student007 dans le forum Access
    Réponses: 4
    Dernier message: 23/12/2005, 13h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo