Probleme de boucle imbriqué

milie -  
 milie -
Bonjour,

j'ai un problème de boucle puisque sans la deuxième boucle cela fonction très bien
voici mon code:
$reponse= mysql_query('select id from matable where question="'.$question.'"') or die(mysql_error());
while ($donnees = mysql_fetch_array($reponse) )
{

for($z=0;$z<$nbmot;$z++){
$rep=mysql_query('INSERT INTO mot VALUES("'.$mot[$z].'","'.$donnees['id'].'")') or die(mysql_error()); // Requête
}
}
et voici l'erreur: Duplicate entry '8' for key 1

je vous remercie d'avance

3 réponses

macgawel Messages postés 676 Statut Membre 89
 
Bonjour.

Sans savoir ce que vaut $mot[] et $donnees[], et sans connaître la structure de tes tables on ne peut pas faire grand chose...

A priori, le message d'erreur indique une violation de clé primaire (ou au moins d'index unique).
Essaye de remplacer
$rep=mysql_query('INSERT INTO mot VALUES("'.$mot[$z].'","'.$donnees['id'].'&quo­t;)') or die(mysql_error());

par
echo 'INSERT INTO mot VALUES("'.$mot[$z].'","'.$donnees['id'].'&quo­t;)<br />';
0
milie
 
mots est un tableau des mot tapez dans un champ texte
et donnees['id'] l'id d'une autre table
0
milie
 
j'ai remplacé et j'obtiens
INSERT INTO mot VALUES("test","16")
0