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 :

Problème d'insertion dans la base de données


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 233
    Par défaut Problème d'insertion dans la base de données
    Bnjour tout le monde, j'ai un souci avec un enregistrement ma base de données Mysql. Mon problème est le suivant: Je crée dynamiquement des champs de texte selon le choix de la valeur de ma liste déroulante, le problème c'est que je rempli ces champs, je n'arrive pas à enregistrer mes informations dans la base de données, mais quand j'insère un seul élément ça passe, sachant que tous mes champs ont le même nom. Sinon voici mon code, pour plus de détail.
    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
     
    <?
    require_once "../inc/connexion.php";
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title></title>
    <link rel="stylesheet" type="text/css" href="style/form.css">
    <script type='text/javascript'>
    function generate() 
    {	if (document.f1.sel.value == 1) 
    	{	document.getElementById('content').innerHTML += '<tr><td><input type="text" name="rep[]"></td></tr><tr><td><input type="text" name="rep[]"></td></tr><tr><td><input type="text" name="rep[]"></td></tr>';
     	}
    	if (document.f1.sel.value == 2) 
    	{	document.getElementById('content').innerHTML += '<tr><td><input type="text" name="rep[]"></td></tr><tr><td><input type="text" name="rep[]"></td></tr><tr><td><input type="text" name="rep[]"></td></tr><tr><td><input type="text" name="rep[]"></td></tr>';
     	}
    } 
    </script>
     
    </head>
     
    <body>
    <?
    if(isset($_POST["trait"])) 
    {	$Id_question = $_POST["Id"];
    	$sql="INSERT INTO reponse(Id_question) VALUES ($Id_question)";
    	$req=mysql_query($sql) or die("Erreur insetion");
    	$Ref = mysql_insert_id();//pour récupérer le dernier id insérer dans la table
    	for ($i=0;$i<count($_POST["rep"]); $i++)
    	{	$sql2 = 'INSERT INTO reponse_detail(Id_rep,rep) VALUES ('.$Ref.', "'.$_POST["rep"][$i].'")';
    		//echo $sql2;
    		mysql_query ($sql2) or die ('Erreur SQL !'.$sql2.'<br />'.mysql_error());
    	}
    }
    else 
    { 
    ?>
    <table align="center" width="100%" border="0" cellpadding="0" cellspacing="0">
    <form name="f1" action="insert_rep.php" method="post">
    <input type="hidden"  name="trait" value="1">
    <input type="hidden"  name="Id" value="<?=$_GET["Id_question"]?>">
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>Séléctionnez le nombre de réponses à créer</td>
    <td>
    <select name="sel" onchange="generate()">
    <OPTION VALUE="1">3</option>
    <OPTION VALUE="2">4</option>
    <OPTION VALUE="3">5</option>
    </select>
    </td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>Réponses :</div></td>
    <td><table id="content"></table></td>
    <td width="11%">&nbsp;</td>
    </tr>
    <tr>
    <td><input type="submit" name="button" id="button" value="Envoyer" /></td>
    </tr>
    </body>
    </html>
    Merci les mecs

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    ton echo $sql2 te donne bien les différentes requêtes ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 233
    Par défaut
    Non il ne me donne rien, c'est quand j'insére un seul enregistrement qu'il m'affiche la requete

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo var_dump($_POST["rep"]);
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 233
    Par défaut
    Merci RideKick mais j'ai déjà pensé à ça, mais il ne me donne pas les éléments envoyés par post de mes champs de texte.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    et si t'essayais ceci
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     ......
    $tab_rep=$_POST["rep"];
    foreach ($val as $tab_rep){
        $sql2 = "INSERT INTO reponse_detail(Id_rep,rep) VALUES ($Ref,\"$val\")";
        echo $sql2;
        mysql_query ($sql2) or die ('Erreur SQL !'.$sql2.'<br />'.mysql_error());
    }
    ?>

    j'ai juste laissé tombé l'indicage du tableau pour le parcourir a l'aide du foreach

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    je viens just de voir ton dernier post.
    A la lecture de ton message donc, je me dis que ta fonction generate() ne genère pas les champs dans le bon emplacement. en fait tes champs sont placés a l'extérieur de ton forms.Ya longtemps j'ai fait javascript, mais je me dis q tes champs créer doivent etre rattaché au formulaire ceci afin q'on puisse recupérer le valeur lors d'un post.
    Pour constater ce fait, apres l'execution de ton declencheur onchange, regarde la source de ta page

Discussions similaires

  1. problême d'insertion dans la base de données
    Par tchimou dans le forum Bases de données
    Réponses: 5
    Dernier message: 21/03/2007, 16h33
  2. Problème d'insertion dans une base de donnèes
    Par atout dans le forum Administration
    Réponses: 14
    Dernier message: 27/12/2006, 07h07
  3. [paradox7] Problème d'insertion dans la base de données
    Par mouna201 dans le forum Bases de données
    Réponses: 4
    Dernier message: 01/02/2006, 09h47
  4. problème d'insertion dans une base de données
    Par belmansour tidjani dans le forum JDBC
    Réponses: 7
    Dernier message: 18/01/2006, 22h13
  5. [Hibernate] problème d'insertion dans la base de données
    Par Willy7901 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 18/08/2005, 13h19

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