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

Langage PHP Discussion :

[Système] Boucle insertion


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut [Système] Boucle insertion
    Bonjour,

    J'ai un problème au niveau de la requete insert. Voici les détails :
    J'ai un formulaire qui permet la saisie de plusieurs lignes ( enregisrements).
    Je récupère les données dans un tableau pour les insérer dans une table mysql.

    Mon problème c 'est que je n'arrive pas à insérer toutes les variables récupérées du tableau dans la table, SEULEMENT LA DERNIERE LIGNE EST INSEREE.

    code formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      <input name="plop[]" type="checkbox" value="<?echo("$code");?>">
     
        <textarea name="plop2[]" value="<? echo("$commentaire");?>"></textarea>

    code process insertion:

    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
    if(isset($_POST['plop']))
    {
        foreach($_POST['plop'] AS $nom=>$value)
     
     
             echo $value;
     
     
    if(isset($_POST['plop2']))
    {
        foreach($_POST['plop2'] AS $nom=>$value2)
     
     
             echo $value2;
     
     
    $sql="insert into 2nouvelledemande (code,commentaire )
     
    values('$value','$value2')";
     
    }
    }

    Merci pour votre aide.

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ca semble logique vu que ta requête est construite en dehors de tes boucles... Tu parcours les deux variables plop et plop2 dans le vide et après tu fais la requête, donc tu la fais une fois que tu es au bout de tes listes plop et plop2.

  3. #3
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse.

    Peux tu me preciser où est ce que je dois placer ma requete exactement ( voir le code en haut.

    Merci pour votre aide.

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Quelque chose dans ce genre peut-être... (pas testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(isset($_POST['plop']) && (isset($_POST['plop2']))
    {
       for(int i = 0 ; i < count($_POST['plop'] ; i++)
       {
           $sql="insert into 2nouvelledemande (code,commentaire ) values '" . $_POST['plop'][i] . "', '" . $_POST['plop'][i] . "')";
          // exécution de la requête
       }
     
    }
    }

  5. #5
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse,
    J'ai modifié ton code comme suit mais les variables sont vides!

    Une piste?


    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
    <? 
    if (isset($_POST['plop']) AND isset($_POST['plop2'])) 
    { 
    $var=sizeof($_POST['plop']);
    echo $var;
     for($i=0;$i<$var;$i++)  
     { 
     
     foreach($_POST['plop2'] as $value2)
    			{
     
     $sql="insert into 2nouvelledemande (code,commentaire ) values  ('" . $_POST['plop'][i] . "', '" . $value2 . "')"; 
    // exécution de la requête  
    echo $sql;
    }  
     } 
     
     } 
     
    ?>

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    On peut voir le code complet de ton formulaire ?

  7. #7
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut code formulaire
    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
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    <? require_once('connexion.php');?>
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
     
    <script language="JavaScript" type="text/JavaScript">
    function envoi() {
     
       document.form1.action='process1acontroler.php';
     
    }
     
    function envoi2() {
     
       document.form1.action='process12chainageaverifier.php';
     
    }
     
     
     
    </script>
    <style type="text/css">
    <!--
    body {
    	background-image: url(controler.jpg);
    	background-repeat: no-repeat;
    	background-position: center top;
    }
    .Style1 {color: #006666}
    -->
    </style></head>
    <body>
     
    <?
     
      $sql="select * from 1acontroler";
      $rs=mysql_query($sql,$connexion);
     
    $find=mysql_fetch_object(mysql_query($sql,$connexion));
     
                    if($find!=""):
     
    ?>
     
    <form name="form1" method="post" action="">
     <center>
     <div align="center"><br>
     </div>
     
     <p>&nbsp;</p>
     <p>&nbsp;</p>
     <p>&nbsp;</p>
     <div align="center"><br>
        <br>
        <input type="submit"  id="submit" value="2nouvelle demande" ONCLICK="envoi();">
        <input type="submit"   id="submit" value="12chainageaverfier" ONCLICK="envoi2();">
        <br>
        <br>
     
       <table width="523" height="103" border=1 cellpadding="4" cellspacing="0"  bordercolor=#0066FF >
        <tr>
        <td><div align="center" class="Style1">code</div></td>
        <td><div align="center" class="Style1">commentaire</div></td>
        <td><div align="center" class="Style1">selection</div></td>
        <td><div align="center" class="Style1">commentaire</div></td>
        </tr>
     
    <? 
     
    while($ligne=mysql_fetch_object($rs))
    {
    $code=$ligne->code;
    $datedentrer=$ligne->datedentrer;
    $utilisateur=$ligne->utilisateur;
    $commentaire=$ligne->commentaire;
     
    ?>
     
     
     
    <tr>
        <td><? echo("$code");?>
          <input name="code2" type="hidden" value="<? echo("$code");?>"></td>
        <td><? echo("$commentaire");?></td>
     
    <td><center>
      <input name="plop[]" type="checkbox" value="<? echo("$code");?>">
     
    </center></td>
        <td>
        <textarea name="plop2[]"></textarea>
     
        </td>
     
    </tr>
        <?
    }
    else:
    $msg="ancun enregistrement";
     
    endif
     
    ?>
         </table>
     </div>
    </form>

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est la bidouille avec les fonctions JS au moment du clic sur les boutons qui doit foutre la grouille, il me semble avoir vu un cas similaire il y a quelques temps. Par contre aucune idée du remède là

Discussions similaires

  1. [Système] Boucle sans fin volontaire
    Par dj-julio dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2008, 09h19
  2. boucle insert sql
    Par bernard26000 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/12/2007, 11h29
  3. [Système] Boucle + GET + Explode --> conception
    Par acppca dans le forum Langage
    Réponses: 7
    Dernier message: 20/08/2007, 13h31
  4. Boucle + insertion
    Par innova dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/10/2006, 17h55
  5. [Conception] boucle insertion dans table
    Par Invité dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 15/03/2006, 09h38

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