Bonjour,
Mon problème est certainement assez simple à régler pour un codeur chevronné, ce que je ne suis pas. Je me casse les dents sur un petit truc que je n'arrive pas à régler.
Dans le cadre d'un projet, je dois générer un formulaire avec un nombre variable de listes déroulantes. Le nombre doit être variable en fonction du nombre de lignes remplies dans un fichier, je commence donc par lire le fichier et générer une boucle While qui me crée le nombre de listes désiré, voici le code, en html et php :
Jusque-là, ça va. C'est ensuite que ça se corse. Sur le fichier test2.php nommé dans le champ "action" je veux transmettre les réponses choisies dans les listes déroulantes via la méthode POST pour les entrer dans une table MySQL, il faut donc générer une boucle pour ce faire, mais je n'arrive pas à faire le code correctement.
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 <form name="formComparaison" method="post" action="test2.php?identifiant=<?php echo $identifiant;?>" > <u><strong>Veuillez choisir vos réponses : </strong></u> <br/> <br/> <?php // initialisation du numero de marqueur $mkn=0; // ouverture du fichier .rcfh de correction $traceSelect=fopen("$identifiant".'h','r+'); // lecture du nombre de ligne du fichier .rcfh, suivie de la génération du nombre de champs correspondant while (!feof($traceSelect)) { $lineContent = fgets($traceSelect); if($lineContent != '') { $mkn=$mkn+1; echo ' '.'Marqueur '.$mkn.' : <select name="'.$mkn.'" size="0"/> <option value="0" > --- Sélectionner --- </option> <option value="1" > Rythme sinusoïdal </option> <option value="2" > Début bradychardie </option> <option value="3" > Fin bradychardie </option> <option value="4" > Deb tachycardie </option> <option value="5" > Fin tachycardie </option> <option value="6" > Début VLT haute </option> <option value="7" > Fin VLT haute </option> <option value="8" > Début VLT faible </option> <option value="9" > Fin VLT faible </option> <option value="10" > Début VLT absente </option> <option value="11" > Fin VLT absente </option> <option value="12" > Précosse </option> <option value="13" > Tardif </option> <option value="14" > Variable typique modéré </option> <option value="15" > Variable typique sévère </option> <option value="16" > Variable Atypique </option> <option value="17" > Prolongé <= 3min </option> <option value="18" > Prolongé > 3min </option> <option value="19" > Accélération </option> <option value="20" > Début expulsion </option> <option value="21" > Amnio infusion </option> <option value="22" > Dilatation </option> <option value="23" > pHiu </option> <option value="24" > Divers </option> </select>'.'<br/><br/>'; } } fclose($traceSelect); ?>
J'essaie dans un premier temps de récupérer le nombre de listes de la variable $mkn pour pouvoir définir la borne supérieure de ma boucle.
Voilà ! Il y a un truc que je ne fais pas bien, je pense notamment que je passe mal la variable $mkn d'un fichier à l'autre et que je gère mal les noms de variables dans mes $_POST. Si quelqu'un peut me filer un petit coup de pouce, ça serait super sympa. Merci d'avance !
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 <?php $connexion=mysql_connect("localhost","root","") or die ("Problème de connection"); mysql_select_db("outilrecorcf",$connexion) or die ("Problème de sélection"); $mkn=$_POST[$mkn]; for($n=1;$n<=$mkn;$n++) { $mark$n=$_POST[$n]; $entreeReponse = mysql_query("INSERT INTO reponses(reponse) values ('$mark$n')"); } ?>
Partager