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

 MySQL Discussion :

Comment remplir une base avec un fichier texte?


Sujet :

MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Comment remplir une base avec un fichier texte?
    Bonjour,
    Débutant en PHP et sql je bloque sur un pti voir gros problème.
    Voila les données du problème.
    J'utilise un logiciel (gestion véhicules CARDIFF) qui me génère un fichier (linsting.txt) avec dedant des informations sur chacun des véhicules.

    Exemple de 2 lignes de mon fichier listing.txt:

    1;40;VO;PEUGEOT;307 SW;SW PACK 2.0 HDI 110;BREAK;5;DIESEL;BVM5;6;107;2002;08/11/2002;103335;GRIS;1;Autoradio CD Laser, Lève Vitres éléctrique;12900;0;6 MOIS;6;velour;
    2;15;VO;RENAULT;TWINGO;;BERLINE;3;ESSENCE;0;5;80;2004;30/06/2004;60930;BLEU;0;Autoradio CD Laser, Lève Vitres éléctrique;9900;0;6 MOIS;6;velour;
    Il y a en tout 23 données sur chaque ligne séparé par ;

    Mon but est de rentrer ces données dans ma base "auto" dans laquelle j'ai créeé une table "vehicule" avec dedant 23 champs.
    Tout ceci afin de les exploiter sur un site Internet.
    Ce fichier est mis à jour régulièrement, donc quelle est la meilleures solution pour ne pas avoir des doublons (vider ma table à chaque mises a jour?)?


    Voila mon fichier php que j'ai fait, mais qui ne fonctionne pas!!!
    Es-ce que je me complique trop la vie?
    Y-a t-il plus simple à faire?
    Merci

    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
    <?php
    // ouverture du fichier
    $monfichier=fopen("listing.txt","r");
     
    // recuperation du contenu du fichier
    $contenu_fichier = '';
    while( $ligne = fgets($monfichier) )
    { 
    	$contenu_fichier .= $ligne; 
    }
    fclose($monfichier);
     
    // Declaration de la variable qui reccueillera les VALUES de toutes les voitures
    $requete_finale = '';
     
    // premier explode sur le retour chariot pour traiter les voitures unes à unes
    $liste_voitures = explode("
    ",$contenu_fichier);
    foreach($liste_voitures as $voiture) 
    {
    	// Declaration/remise à zéro de la variable qui reccueillera les VALUES de chaque voiture unes à unes
    	$values = '';
    	$liste_caracteristiques = explode(";",$voiture);
    	foreach($liste_caracteristiques as $valeur_caracteristique) 
    	{
    		//test obligatoir pour mettre une virgule entre chaque valeurs mais pas au debut et pas à la fin de values
    		if( $values == '' ) { $values = '"'.addslashes($valeur_caracteristique).'"'; }
    		else { $values .= ',"'.addslashes($valeur_caracteristique).'"'; }
    	}
     
    	//test obligatoir pour mettre une virgule entre chaque VALUES mais pas au debut et pas à la fin requete_finale
    	if( $requete_finale == '' ) { $requete_finale = '('.$values.')'; }
    	else { $requete_finale .= ', ('.$values.')'; }
    }
     
    // Connexion au serveur et à la BDD
    mysql_connect('localhost','root','');
    mysql_select_db('vehicules');
     
     
    //On vide la table
    mysql_query("TRUNCATE TABLE vehicules");
    //On insert les données à jour
    mysql_query("INSERT INTO vehicules VALUES".$requete_finale);
    echo 'Base de données mise à jour.';
     
    mysql_close(); // Déconnexion de MySQL
    ?>

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    MySQL dispose d'une commande pour charger un fichier texte dans une table :
    Toutes les infos sont dans la FAQ. A consulter avant de poster

    ced

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Oui effectivement, je viens de faire ceci. Ma table se rempli bien!!

    LOAD DATA INFILE 'listing.txt'
    INTO TABLE vehicules
    FIELDS
    TERMINATED BY ';'
    ENCLOSED BY '"'
    ESCAPED BY '\\'
    LINES
    STARTING BY ''
    TERMINATED BY '\n'
    (ID, NVO, TYPE, MARQUE, MODELE, VERSION, CARROSSERIE, NBPORTES, ENERGIE, BOITEVITESSE, PFISCALE, PDIN, MILLESIME, DATEMEC, KMS, COULEUR, PMAIN, OPTIONS, PPUBLIC, PMARCHAND, GARANTIE, DUREEGARANTIE, SELLERIE)
    Par contre maintenant je dois transformer ceci en code php afin que le code soit executer a chaque mise à jour de mon fichier listing.txt.

    Es-ce la bonne méthode?
    Encore merci

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Je suppose que le fichier que tu reçois est un fichier complet et non une mise à jour partielle ?
    Si c'est le cas, tu risques d'avoir des informations parasites dans ta base.
    Des éléments supprimés qui ne le seront pas dans ta base.
    Le mieux, à mon avis, serait de vider ta base et de réimporter tout.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Oui effectivement c'est ce que je compter faire avec ce code:

    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
    <?php
    // ouverture du fichier
    $monfichier=fopen("listing.txt","r");
     
    // recuperation du contenu du fichier
    $contenu_fichier = '';
    while( $ligne = fgets($monfichier) )
    { 
    	$contenu_fichier .= $ligne; 
    }
    fclose($monfichier);
     
    // Declaration de la variable qui reccueillera les VALUES de toutes les voitures
    $requete_finale = '';
     
    // premier explode sur le retour chariot pour traiter les voitures unes à unes
    $liste_voitures = explode("
    ",$contenu_fichier);
    foreach($liste_voitures AS $voiture) 
    {
    	// Declaration/remise à zéro de la variable qui reccueillera les VALUES de chaque voiture unes à unes
    	$values = '';
    	$liste_caracteristiques = explode(";",$voiture);
    	foreach($liste_caracteristiques AS $valeur_caracteristique) 
    	{
    		//test obligatoir pour mettre une virgule entre chaque valeurs mais pas au debut et pas à la fin de VALUES
    		IF( $values == '' ) { $values = '"'.addslashes($valeur_caracteristique).'"'; }
    		else { $values .= ',"'.addslashes($valeur_caracteristique).'"'; }
    	}
     
    	//test obligatoir pour mettre une virgule entre chaque VALUES mais pas au debut et pas à la fin requete_finale
    	IF( $requete_finale == '' ) { $requete_finale = '('.$values.')'; }
    	else { $requete_finale .= ', ('.$values.')'; }
    }
     
    // Connexion au serveur et à la BDD
    mysql_connect('localhost','root','');
    mysql_select_db('auto');
     
     
    //ON vide la TABLE
    mysql_query("TRUNCATE TABLE vehicules");
    //ON INSERT les données à jour
    mysql_query("INSERT INTO vehicules VALUES".$requete_finale);
    echo 'Base de données mise à jour.';
     
    mysql_close(); // Déconnexion de MySQL
    ?>

    Mais je dois avouer que je suis completement perdu!!
    Si tu avais un bou de code a me proposer parceque la...

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Déjà, je viderais la table avant de lire le fichier

    Ensuite, tu dois insérer l'écriture dans la base dans la boucle de lecture du fichier.
    • Ouverture de la connexion à la base
    • Vidage de la table
    • Ouverture du fichier
    • Début parcourt du fichier
      Boucle
      • Lecture données du fichier
      • Ecriture données dans la table

      Fin boucle
    • Fin parcourt du fichier
    • Fermeture du fichier
    • Fermeture de la connexion à la base

  7. #7
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    cedricland, Guardian, oubliez tout de suite la boucle de lecture ! Le LOAD DATA est beaucoup plus simple et plus efficace.

    Le PHP va ressembler à peu près à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql = "TRUNCATE TABLE vehicules" ;
    mysql_query($sql) or die(mysql_error()) ;
    $sql = "LOAD DATA INFILE 'listing.txt' ... " ;
    mysql_query($sql) or die(mysql_error()) ;

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Voila a quoi je suis arrivé et qui fonctionne!
    Bon je vous l'accorde ce n'est peut etre pas joli joli comme code.
    Si vous avez des idée (et je pense que oui) pour l'optimisé?!!

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <?php
    /* Connexion bdd */
     
    mysql_connect('localhost','root','');
    mysql_select_db('auto');
     
    //On vide la table
    mysql_query("TRUNCATE TABLE vehicules");
     
    /* On ouvre le fichier à importer en lecture seulement */
     
         $fp=fopen("listing.txt","r");
     
        while (!feof($fp)) /* on importe */
        { /* Tant qu'on n'atteint pas la fin du fichier */ 
           $ligne = fgets($fp,4096); /* On lit une ligne */  
     
           /* On récupère les champs séparés par ; dans liste*/
           $liste = explode( ";",$ligne);  
     
           /* On assigne les variables */ 
       $ID = $liste[0]; 
       $NVO = $liste[1]; 
       $TYPE = $liste[2]; 
       $MARQUE = $liste[3]; 
       $MODELE = $liste[4]; 
       $VERSION = $liste[5]; 
       $CARROSSERIE = $liste[6];
       $NBPORTES = $liste[7];
       $ENERGIE = $liste[8];
       $BOITEVITESSE = $liste[9];
       $PFISCALE = $liste[10];
       $PDIN = $liste[11];
       $MILLESIME = $liste[12];
       $DATEMEC = $liste[13];
       $KMS = $liste[14];
       $COULEUR = $liste[15];
       $PMAIN = $liste[16];
       $OPTIONS = $liste[17];
       $PPUBLIC = $liste[18];
       $PMARCHAND = $liste[19];
       $GARANTIE = $liste[20];
       $DUREEGARANTIE = $liste[21];
       $SELLERIE = $liste[22];
     
     
           /* Ajouter un nouvel enregistrement dans la table */ 
           $query = "INSERT INTO vehicules VALUES('$ID','$NVO','$TYPE','$MARQUE','$MODELE','$VERSION','$CARROSSERIE','$NBPORTES','$ENERGIE','$BOITEVITESSE','$PFISCALE','$PDIN','$MILLESIME','$DATEMEC','$KMS','$COULEUR','$PMAIN','$OPTIONS','$PPUBLIC','$PMARCHAND','$GARANTIE','$DUREEGARANTIE','$SELLERIE')"; 
           $result= MYSQL_QUERY($query); 
     
           if(mysql_error())
            { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */
               print "Erreur dans la base de données : ".mysql_error();
               print "<br>Importation stoppée.";
               exit();
            } 
           else /* ça fonctionneen */
             print "Base mise a jour<br>";
         } 
     
         echo "<br>Importation terminée, avec succès."; 
     
         /* Fermeture */ 
         fclose($fp); 
         MYSQL_CLOSE(); 
        ?>
    Avec cette méthode je suis obliqué d'avoir le même nombre de champs dans ma table que dans mon fichier listing.txt. Est-il possible d'avoir plus de champs dans ma table que dans mon txt?
    Encore merci a tous pour vos aides..

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Citation Envoyé par cedricland Voir le message
    Avec cette méthode je suis obliqué d'avoir le même nombre de champs dans ma table que dans mon fichier listing.txt. Est-il possible d'avoir plus de champs dans ma table que dans mon txt?
    Encore merci a tous pour vos aides..
    Il te suffit d'ajouter les champs nécessaires lors de la création de la table
    Et faire attention lors de l'attibution des valeurs lues dans le fichier texte aux champs de ta base évidemment

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Petit complément à mon problème...

    Ma table se remplit bien avec mon code actuel.
    Ce que je souhaiterai faire pour 3 de mes valeurs contenus dans mon fichier listing.txt c'est ceci:

    Je vous redonne mon fichier linsting-txt

    20;40;VO;PEUGEOT;207 SW;SW PACK 2.0 HDI 110;BREAK;5;DIESEL;BVM5;6;107;2002;08/11/2002;103335;GRIS;1;Autoradio;12900;ert;6;12 MOIS;cuir;

    Pour ces 3 données:
    $TYPES = $liste[2]; (VO)
    $MARQUE = $liste[3]; (PEUGEOT)
    $MODELE = $liste[4]; (207 SW)

    Au lieu d'insérer dans ma table 'auto' les valeurs suivantes "VO;PEUGEOT;207 SW"; je souhaiterai y mettre plustot

    si $liste[2] = VO alors je rentre 1 dans ma table
    si $liste[2] = VN alors je rentre 2 dans ma table

    Pareil pour les marques et les modèles

    si $liste[3] = ALFA alors je rentre 1 dans ma table
    si $liste[3] = CITROEN alors je rentre 3 dans ma table
    si $liste[3] = DACIA alors je rentre 4 dans ma table

    si $liste[4] = 207 alors je rentre 25 dans ma table
    si $liste[4] = C4PICASSO alors je rentre 32 dans ma table


    Pour que ce soit plus simple (enfin je crois) j'ai créé 3 tables

    categorie
    marque
    modele

    avec dedant toutes les correspondances:

    Exemple de ma table "categorie"

    ID NOM
    1 VO
    2 VN

    Exemple de ma table "marque"

    ID NOM
    1 ALFA
    2 BMW
    3 CITROEN
    4 DACIA

    etc

    Pareil pour les modèles (plus de150)
    Qui eux sont comme ceci:

    ID MARQUEID MODELE

    1 1 147
    2 3 C4 PICASSO
    3 3 PICASSO
    4 4 LOGAN
    etc...

    Voila si quelqu'un peu me dire comment insérér un bout de code dans mon fichier php....je suis preneur.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Bon et bien j'avance petit a petit mais bloque toujours,
    Le problèlme reste le même, seul le nom de tables et champs on changés!

    Pour les tables:

    - mos_autos.sql (table qui doit se remplir, avec les données de mon fichier listing.txt)
    - mos_autos_catg.sql (table catérgorie)
    - mos_autos_make.sql (table marques)
    - mos_autos_model.sql (table modèles)


    Voici les 1er lignes de mes tables:

    Exemple de ma table "mos_autos_catg"

    cid name
    1 VO
    2 VN

    Exemple de ma table "mos_autos_make"

    maid make
    1 ALFA
    2 BMW
    3 CITROEN
    4 DACIA
    ...

    Pareil pour les modèles (plus de150)
    Qui eux sont comme ceci:

    moid makeid model

    1 1 147
    2 3 C4 PICASSO
    3 3 PICASSO
    4 4 LOGAN
    ...

    Voici mon fichier php avec la modif faite pour la categorie mais qui me retourne d'une erreur "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource.. "


    Voici mon code PHP

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    <?php
    /* Connexion bdd */
    mysql_connect('localhost','root','');
    mysql_select_db('auto');
    //On vide la table 
    mysql_query("TRUNCATE TABLE mos_autos" );
     
    /* On ouvre le fichier à importer en lecture seulement */
     
         $fp=fopen("listing.txt","r" );
     
        while (!feof($fp)) /* Et Hop on importe */
        { /* Tant qu'on n'atteint pas la fin du fichier */
           $ligne = fgets($fp,4096); /* On lit une ligne */ 
     
           /* On récupère les champs séparés par ; dans liste*/
           $liste = explode( ";",$ligne); 
     
           /* On assigne les variables */
       $id = $liste[0];
       $vin = $liste[1];
       $listcid = $liste[2];
       $listmake = $liste[3];
       $listmodel = $liste[4];
       $derivate = $liste[5];
       $borestroke = $liste[6];
       $doorsbody = $liste[7];
       $fuel = $liste[8];
       $trans = $liste[9];
       $engine = $liste[10];
       $motorsize = $liste[11];
       $millesime = $liste[12];
       $year = $liste[13];
       $mileage = $liste[14];
       $colour = $liste[15];
       $stocknum = $liste[16];
       $longdesc = $liste[17];
       $price = $liste[18];
       $showprice = $liste[19];
       $rearsus = $liste[20];
       $kerbweight = $liste[21];
       $groundclear = $liste[22];
       $image1 = $liste[23];
       $image2 = $liste[24];
       $image3 = $liste[25];
       $image4 = $liste[26];
       $image5 = $liste[27];
       $image6 = $liste[28];
       $image7 = $liste[29];
       $image8 = $liste[30];
       $image9 = $liste[31];
       $image10 = $liste[32];
       $image11 = $liste[33];
       $image12 = $liste[34];
       $smalldesc = $liste[35];
       $premium = $liste[36];
       $featured = $liste[37];
       $cheked_out = $liste[38];
       $owner = $liste[39];
       $published = $liste[40];
     
     
        $querycid = "select cid from mos_autos_catg where nom='$listcid'";
        $rescid = mysql_query($querycid);
        $arraycid = mysql_fetch_array($rescid);
        $cid = $arraycid[0];
     
     
           /* Ajouter un nouvel enregistrement dans la table */
           $query = "INSERT INTO mos_autos VALUES('$id','$vin','$cid','$make','$model','$derivate','$borestroke','$doorsbody','$fuel','$trans','$engine','$motorsize','$millesime','$year','$mileage','$colour','$stocknum','$longdesc','$price','$showprice','$rearsus','$kerbweight','$groundclear','$image1','$image2','$image3','$image4','$image5','$image6','$image7','$image8','$image9','$image10','$image11','$image12','$smalldesc','$premium','$featured','$checked_out','$owner','$published')";
           $result= MYSQL_QUERY($query);
     
           if(mysql_error())
            { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */
               print "Erreur dans la base de données : ".mysql_error();
               print "<br>Importation stoppée.";
               exit();
            }
           else /* Tout va bien */
             print "Base mise a jour<br>";
         }
     
         echo "<br>Importation terminée, avec succès.";
     
         /* Fermeture */
         fclose($fp);
         MYSQL_CLOSE();
        ?>
    Si quelqu'un peut me dire ou se trouve mon erreur et si bien sur, si la méthode est bonne?
    Merci

  12. #12
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    L'erreur que tu obtiens signifie que la requête a échoué...

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
     $rescid = mysql_query($querycid) or die(mysql_error()) ;

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci Antoun,
    Effectivement je n'ai plus d'erreur, par contre je pense qu'il doit me manquer quelque chose, ou bien la méthode n'est pas bonne car mon champs '$cid', se retourve toujour a 1 alors qu'a certaine ligne il devrait y avoir 2.
    Je pesne que la comparaison entre ma table "mos_ezautos_catg" et les données de mon fichier listing.txt ne se font pas.
    Que me manque t-il?
    Merci

  14. #14
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    Mon code n'était pas censé corriger l'erreur, mais la faire apparaître...

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Bonjour, après quelques jours d'absences me revoila..
    Effectivement "Antoun" je n'ai plus l'erreur mais rien ne change la requette ne fonctionne pas.
    je me demande si la méthode est bonne?
    merci

    Requette qui ne fonctionne pas:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        $querycid = "select cid from mos_autos_catg where nom='$listcid'";
        $rescid = mysql_query($querycid) or die(mysql_error());   
        $arraycid = mysql_fetch_array($rescid);
        $cid = $arraycid[0];

  16. #16
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    Si tu n'as pas de message d'erreur, en quoi est-ce que ça ne fonctionne pas ?

    que donne un echo $querycid ?

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    et voila, cela fonctionne enfin!!
    juste une erreur de données (name au lieu de nom!!!).
    Un grand merci a tous ceux qui m'ont aidés.

    Voici le code qui fonctionne


    $querycid = "select cid from mos_ezautos_catg where name='$listcid'";
    $rescid = mysql_query($querycid) or die(mysql_error());
    $arraycid = mysql_fetch_array($rescid);
    $cid = $arraycid[0];
    $arraycid['cid'];

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

Discussions similaires

  1. SSIS remplir une base avec un fichier txt
    Par lerieure dans le forum SSIS
    Réponses: 9
    Dernier message: 12/04/2011, 07h04
  2. [SQL] Comment un remplir une table avec un fichier xls
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/10/2006, 12h33
  3. Réponses: 3
    Dernier message: 19/01/2005, 15h50
  4. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06
  5. Réponses: 2
    Dernier message: 26/07/2004, 13h34

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