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 :

plusieurs insertions à partir d'un tableau [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut plusieurs insertions à partir d'un tableau
    sur une premiere boucle j'ai plusieurs affichage,
    j'ai aussi plusieurs case a cocher donc plusieurs séries de valeur ...
    j'envoie ma clef dans un hidden ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<input type='hidden' value='$id_BL_ext' name='id_BL_ext[]'>";
    que je récupère ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    foreach ($_POST['id_BL_ext'] as $id_BL_ext)
        {
    suivie d'une insertion mysql ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $requete1 = "INSERT  INTO  traction (PF,remorque,shipment,date_traction,origine,pal,id_BL_ext)
    VALUES ('$PF_new', '$traction_new', '$shipment', '$date', 'Affret', '$pal','id_BL_ext')";
    $result1 = mysql_query ($requete1) or die ("requette 1 invalide");
    mais je n'ai que la derriere serie dans ma base ...
    ou est l'erreur ?

    merci par avance.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Question débile : la requête est bien dans la boucle ?

  3. #3
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut
    oui a mon sens ..
    puisque j'ai testé mes réponses

    je peux poster l''integral des fichiers post et recept, mais c lourd non ?

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Une technique assez bourrin pour tester ce qu'il se passe : juste avant l'exécution, tu ajoutes un echo de la requête. C'est un peu lourd, mais ça permet de savoir ce qu'il se passe...

  5. #5
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Bonsoir,

    Je ne sais pas, mais il ne manquerait pas de $ ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete1 = "INSERT  INTO  traction (PF,remorque,shipment,date_traction,origine,pal,id_BL_ext)
    VALUES ('$PF_new', '$traction_new', '$shipment', '$date', '$Affret', '$pal','$id_BL_ext')";

  6. #6
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut
    aie

    sur non ... c'est une info, pas une variable.

    sur si, surtout que c'est ma clef !

    t'as beau relire ....

    je testerais demain, j'ai pas d'accès SAP à la maison

  7. #7
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Celira Voir le message
    Question débile : la requête est bien dans la boucle ?
    Oui Oui Celira, mais je suis allé vérifier tout de même

  8. #8
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut il manque encore quelque chose ...
    dans la saisie :
    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
     
    // form 
    echo "<td><form method='post' name='saisi' action='./insert/insert_AFF_traction.php'>";
     
    //affichage de la PF actuelle
    echo "<select imput type='text' name='PF' value='PF' ><option value='$row->PF'>$row->PF";
    // toute les PF :
    $req_liste_PF="SELECT  DISTINCT PF FROM route ORDER BY PF ASC";
    $result_liste_PF = mysql_query($req_liste_PF) or die ('req_liste_RG avortee');
             while ($row = mysql_fetch_object ($result_liste_PF))
    	        {echo "<option value='$row->PF' >$row->PF" ;}
    	echo "</select></td>";         
    // choix remorque :         
    echo "<td width='20%'><select imput type='text' name='tract' ><option value=''><option value='-1'>-1<option value='-2'>-2<option value='-3'>-3<option value='-4'>-4<option value='-5'>-5<option value='-6'>-6</select>";
    echo "</td>";
    // infos conditionnement 	
    echo "<td width='20%' ></p><select input type='text' name='pal'><option value='vrac'>vrac";
    // extraction des pals
    $req_liste_Pal="select DISTINCT(pal) from traction where pal <> 'NC' ORDER BY pal ASC";
    $result_liste_Pal = mysql_query($req_liste_Pal) or die ("req_liste_Pal avortee");
                 while ($row_rz = mysql_fetch_object ($result_liste_Pal))
                   {echo "<option value='$row_rz->pal'><p class='v1'>$row_rz->pal</p>";}
    	echo "<input type='hidden' value='$shipment'  name='shipment'>";
    	echo "<input type='hidden' value='$id_BL_ext' name='id_BL_ext[]'>";
     
    	echo "</select></td></tr>";
     
    //echo $id_BL_ext ;
    L'echo $id_BL_ext me rend bien les differentes valeurs

    Récupération :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    foreach ($_POST['id_BL_ext'] as $donnee)
    	{
    echo   $donnee['trac'] , $_POST['id_BL_ext'] , exit ;
    /*
    $requete1 = "INSERT  INTO  traction
    (PF,remorque,shipment,date_traction,origine,pal,id_BL_ext) 
    VALUES ($donnee['PF_new'],$donnee['trac'],$donnee['shipment'],'$date', 'Affret',$donnee['pal'],$donnee['id_BL_ext'])";
    $result1 = mysql_query ($requete1) or die ("requette 1 invalide");
    */
    }
    l'echo $donnee me rend le chiffre 8 et ce quel que soit le nom, tract, pal ou autre.
    l'echo du POST me rend : Array
    et bien sur une "syntax error" derriere sur l'insert.

    si je traite avec des $_POST[''] sans le foreach, je récupère bien la derrière ligne saisi,

    Il me serait utile de comprendre comment récupérer les autres ...

    quelque chose m"échappe, merci de vos suggestions

    Bon, j'ai mis un LIMIT 1 sur mon select, abandonné l'idee du while,
    j'ai un header qui revient sur la page avec condition de présence.
    je traite ainsi les lignes 1 par une et ça fonctionne bien.

    A une autre fois.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/12/2014, 15h18
  2. [Toutes versions] Créer plusieurs graphiques à partir d'un tableau
    Par glougloup dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/05/2010, 09h24
  3. [SQL] Remplir une base SQL à partir d'un tableau à plusieurs lignes et colonnes
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 13/08/2007, 08h56
  4. [MySQL] supprimer plusieurs tuples à partir d'un tableau
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/08/2006, 12h14

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