insertion multiple
J'ai un souci, et je ne sais pas comment faire:
j'ai réussi à insérer des données toutes simples dans mes tables, pas de probleme. Par contre, il faut que j'insère plusieurs lignes à la fois, je m'explique:
en s'inscrivant, un utilisateur entre ses nom, prenom...et une ligne est créée dans la base. Mais je dois également inséré plusieurs lignes, où chacune aura comme identifiant le numero d'utilisateur et un code categorie. Ainsi, il faudra que j'insère 10 lignes différentes s'il y a dix codes catégories...
Comment faire?
masteralex
je pige po très bien !!
tu veux faire un tuple par donné (nom prenom), et on reconnaitra l'utilisateur par l'id qui l'identifira c'est à dire que dans un tuple tu as un numero d'identification et la donnée???
Si oui, vaux mieu un tuple par utilisateur pas tuple est plusierus colones..
enfin je me trompe peu etre !
Kro kro kro kronemburg
en fait, je créé un utilisateur basiquement: je créé une ligne avec son numutilisateur, nom, prenom...
Ensuite, il doit faire exercices. Ainsi, je dois, en même tant que je créé l'utilisateur, créer dans une table à coté des lignes qui comprendront:
le numutilisateur et le code de l'exercice (identifiant), et ily aura d'autres champs comme EtatExercice (s'il a été résolu)...
Ainsi, comment est-ce que je peux créé plusieurs lignes, soit le nombre d'exercice qu'il existe...?
masteralex
bah je pense que tu dois pouvoir faire plutôt plusieur colones dans ta table exercices (par exemple 3 par exo : exo_1_question, exo_1_reponse, exo_corrige... ) et puis en premier champs tu as id_utilisateur avec le num de l'utilisateur concerné, enfin je te donne une autre solution que la tienne mais je te conseille vivement celle-ci car sinon tu va vite être embrouillé dans tes données !! j'espere qu'on se comprend !
Kro kro kro kronemburg
je m'exprime super mal: un exemple, et j'espere que ça ira mieux:
je créé l'utilisateur toto, de numero 1, dans la table "stagiaire".
Il existe trois exercices différents, de numero 1, 2 et 3.
Dans la table effectuer_exercice, je vais devoir créer les lignes:
numstagiaire numexercice etatexercice
1 1 0
1 2 0
1 3 0
en fait, une ligne par exercice, pour que l'utilisateur les fasse tous.
Comment est-ce que je peux créer autant de lignes qu'il y a d'exercice?
masteralex
malheureusement, des contraintes de pédagogie vis-à-vis des utilisateurs finaux m'obligent à faire comme ça...help me!
masteralex
tu ne sais donc pas combien d'exos tu as ? Dans ce cas, tu inser ta ligne à chaque exo :
$sql = "INSERT INTO table_exos VALUES('1','1','0')";
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
mysql_close();
et pi si t'ajoute un autre exo tu fé pareil ! le tous c'est de connaitre ton utilisateur ! et si tu veux modifier le champ etat tu ... bah tu modifie!! (cf cour modifier les données d'une base de données)
Kro kro kro kronemburg
maintenant si ta un nouvel utilisateur tu fais une boucle ( while() ) donc ça doit te donner un truc du genre :
(tu connais le nb d'exos et l'id du nvelle utilisateur)
while ($nb_exo > $temoin){
$sql = "INSERT INTO table_exos VALUES('".$id-utilisateur."','".$temoin."','0')";
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br>'.mysql_error());
$temoin=$temoin+1;
}
mysql_close();
Kro kro kro kronemburg
voilà, ce serait plutot qqch du genre de la boucle à la fin.
Je teste...merci...
masteralex
de rien !
Kro kro kro kronemburg