boucle pour remplir une table

invite
Invité n'ayant pas de compte PHPfrance

28 mai 2015, 22:22

Salut , j'ai une table qui contient trois attributs le premier c'est un numéro auto , le deuxième c'est idgroupe (nombre) et le troisième 'codeEtudiant' nombre , j'ai un formulaire qui permet de cocher les valeurs du codeEtudiant qu'on veut attribuer à un même groupe , je veux une boucle qui permettra d'inserer dans la table les valeurs de codeEtudiant cochées en gardant le même idGroupe pour les valeurs cochées et au même temps d'incrémenter le numéro auto à chaque nouvelle valeur ajouté à la table .
voici ce que j'ai essayé de faire :

Code : Tout sélectionner

for($i=0;$i<'nb';$i++){ $j = 1; $Rq = "insert into appartenance values ('" . $t["$i"] . "','" . $t["case"] . "','" . $t["$j"] . "')"; $resultat = $cn->exec($Rq); } $j++;

et voici ce que contient le formulaire :

Code : Tout sélectionner

<form action="index.php?action=groupe1" method="POST" name="myForm" target="_blank"> <table> <label>Selectionnez les <input type="number" name="nb" value="nb"/> premiers <input type="button" value="Cocher les étudiants" onclick="Cocher(document.myForm.nb.value);"/> <br/><br/> <tr> <th>Code</th> <?php $i=1; while ($row = $resultat -> fetch()) { ?> <tr> <td><a href='./index.php?action=detail&CodeEtudiant=<?php echo $row[0] ?>'> <label><?php echo $row[0] ;?></label> <input type="checkbox" value="<?php echo $row[0] ;?>" name="case[<?php echo $i; $i++; ?>]"> </a></td> </tr> <?php }?> </table> <input type="submit" value="affecter &agrave; un groupe" />
Merci pour votre aide !

Mammouth du PHP | 688 Messages

28 mai 2015, 22:40

tu récupères le numéro du groupe dans une variable.
tu parcours $_POST avec un foreach, tu testes si la variable est bien une case à cocher (pas le bouton submit, un éventuel champ hidden) et tu fais ta requête insert, avec les 2 champs (pas besoin de mettre le numéro auto, s'll est bien en auto incrément dans la table), ta variable du numéro du groupe, et la val du champ dans ta boucle.