Il y a un an, avec l'aide de la communauté, j'avais réussi à écrire un script mais voilà, aujourd'hui je veux le modifier, j'ai réussi en partie... en partie seulement.
Voici le problème :
Un premier script affiche 3 menus déroulants récupérés dans trois tables. Voici son script :
J'envoie pour récupérer dans un autre script qui a pour fonction de vérifier que tous les champs sont remplis, d'afficher le résultat dans un tableau et d'insérer dans une table. Seulement j'arrive à récupérer le contenu de 2 menus, jamais des trois. Voici le code que j'utilisais quand je n'avais que 2 'select' :
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 <?php $postecole = $_POST['ecole']; $rqverif = mysql_query("SELECT ecole FROM jos_ecole_animation WHERE ecole ='$_POST[ecole]'") or die ("impossible de vérifier"); while ($rvf = mysql_fetch_array($rqverif)) {if (isset ($rvf)) {echo "<b>Ecole déjà inscrite</b>"."<br/>"; exit;} } echo ("<b>Ecole</b> : <b>$postecole</b><br/><br/>"); $query = mysql_query("SELECT id_nom, Nom, Prénom FROM jos_ecole_etat WHERE jos_ecole_etat.ECOLE ='$postecole'") OR die("impossible"); $rqaniob = mysql_query("SELECT CONCAT(animob,\", \",public) AS animob, id_animob FROM jos_ecole_animob ORDER BY id_animob") OR die("impossible"); $rqani = mysql_query("SELECT CONCAT(anim,\", \",public) AS anim, id_anim FROM jos_ecole_anim_ci ORDER BY id_anim") OR die("impossibleconcat"); $rqanidv = mysql_query("SELECT CONCAT(anim_dv,\", \",public) AS anim_dv, id_animdv FROM jos_ecole_anim_dv ORDER BY id_animdv") OR die("impossible"); echo "<form action='index.php?option=com_chronocontact&chronoformname=animation_03' name='animation' method='POST'>"; echo "<table border='1' cellpadding='1' cellspacing='1' align='left'> <td><b>Nom</b></td> <td><b><center>Volet 1</center></b></td> <td><b><center>Volet 2</center></b></td> <td><b><center>Volet 3</center></b></td> </tr>"; while ($row=mysql_fetch_array($query)) { echo "<tr>"; echo "<td>"; echo "$row[Nom] $row[Prénom]"; echo "</td>"; //volet1 echo "<td>"; echo "<center><select name=\"id_animob $row[id_nom]\"><option value=\"\">< Choisir ></option></center>"; if( ! isset($tab_malisteob)) { while (list($anim, $id_anim) = mysql_fetch_row($rqaniob)) { $tab_malisteob[$id_anim ] = $anim; echo "<option value=\"$id_anim\">$anim</option>\r\n"; } } else { foreach($tab_malisteob as $cle => $val) { echo "<option value=\"$cle\">$val</option>\r\n"; } } echo "</select></td>"; //volet2 echo "<td>"; echo "<center><select name=\"id_anim $row[id_nom]\"><option value=\"\">< Choisir ></option></center>"; if( ! isset($tab_maliste)) { while (list($anim, $id_anim) = mysql_fetch_row($rqani)) { $tab_maliste[$id_anim ] = $anim; echo "<option value=\"$id_anim\">$anim</option>\r\n"; } } else { foreach($tab_maliste as $cle => $val) { echo "<option value=\"$cle\">$val</option>\r\n"; } } echo "</select></td>"; //volet3 echo "<td>"; echo "<center><select name=\"id_animdv $row[id_nom]\"><option value=\"\">< Choisir ></option></center>"; if( ! isset($tab_malistedv)) { while (list($anim, $id_anim) = mysql_fetch_row($rqanidv)) { $tab_malistedv[$id_anim] = $anim; echo "<option value=\"$id_anim\">$anim</option>\r\n"; } } else { foreach($tab_malistedv as $cle => $val) { echo "<option value=\"$cle\">$val</option>\r\n"; } } echo "</select></td>"; echo "<tr>"; } echo "</table>"; echo "<br/><br/>"; echo "<b>Précisions (cas particuliers, temps partiel,etc.)</b>"."<br/>"; echo "<b>Propositions d'animations pour l'école (préciser le contenu):</b>"."<br/><br/>"."<center><textarea name='propo' rows='8' cols='50'/></textarea></center>"."<br/>"; echo "<br/>"; echo "<center><input type='submit' value='envoyer'/></center>"; echo "</form>"; echo "<br/><br/><br/>"; ?>
J'ai essayé d'introduire un nouveau 'ELSE' ou un 'ELSEIF'
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
67
68
69
70
71
72 <?php if (isset($_POST['animation'])); echo "<table border='1' cellpadding='1' cellspacing='1' align='left'> <td><b>Nom</b></td> <td><b>Prénom</b></td> <td><b><center>Volet 1</center></b></td> <td><b><center>Volet 2</center></b></td> <td><b><center>Volet 3</center></b></td> </tr>"; foreach($_POST as $idNom => $idAnim) { if (preg_match("/dv/",$idNom)) { $NOM = substr ($idNom, 10); $rqanidv = mysql_query("SELECT anim_dv, date_format(date_1,'%d-%m-%y')AS date_1, date_format(date_2,'%d-%m-%y')AS date_2, id_nom FROM jos_ecole_anim_dv, jos_ecole_etat WHERE id_animdv='$idAnim'AND id_nom='$NOM'") OR die("impossible rqanidv"); while ($recupdv=mysql_fetch_array($rqanidv)) { $animdv = $recupdv[anim_dv]; $date1dv = $recupdv[date_1]; $date2dv = $recupdv[date_2]; } echo "<tr><td>$tabNom</td><td>$tabprenom</td><td><center>$animob<br/>$date1 et $date2</center></td><td><center>$anim<br/>$date1ci et $date2ci</center></td><td><center>$animdv<br/>$date1dv et $date2dv</center></td><tr>"; $date_1= date("d-m-y", strtotime($date1)); $date_2= date("d-m-y", strtotime($date2)); $date_1ci = date("d-m-y", strtotime($date1ci)); $date_2ci = date("d-m-y", strtotime($date2ci)); $date_1dv = date("d-m-y", strtotime($date1dv)); $date_2dv = date("d-m-y", strtotime($date2dv)); $propo = $_POST[propo]; if (empty($animdv) || empty($anim) || empty($animob)) { echo "<center><h3>Veuillez compléter tous les champs</h3></center>"; echo "<center><a href='javascript:history.back()'><h3>Retour</h3></a></center>"; exit; } $inscrit = "INSERT INTO jos_ecole_animation (ecole, nom, prenom, anim_ob, date_1ob, date_2ob, anim_ci, date_1ci, date_2ci, anim_dv, date_1dv, date_2dv, propo) VALUES ('$ECOLE', '$tabNom','$tabprenom','$animob','$date_1' ,'$date_2','$anim','$date_1ci','$date_2ci','$animdv','$date_1dv','$date_2dv', '$propo')"; $envoi = mysql_query($inscrit); } else { $NOM = substr ($idNom, 8); $rqani = mysql_query("SELECT anim, Nom, Prénom, date_format(date_1,'%d-%m-%y')AS date_1, date_format(date_2,'%d-%m-%y')AS date_2, ECOLE FROM jos_ecole_anim_ci, jos_ecole_etat WHERE id_anim='$idAnim'AND id_nom='$NOM'") OR die("impossible"); while ($recupci=mysql_fetch_array($rqani)) { $ECOLE = $recupci[ECOLE]; $tabNom = $recupci[Nom]; $tabprenom = $recupci[Prénom]; $anim = $recupci[anim]; $date1ci = $recupci[date_1]; $date2ci = $recupci[date_2]; $rqanimob = mysql_query("SELECT animob, date_format(date_1,'%d-%m-%y')AS date_1, date_format(date_2,'%d-%m-%y')AS date_2 FROM jos_ecole_animob WHERE ECOLE = '$ECOLE'"); while ($recupob=mysql_fetch_array($rqanimob)) { $animob = $recupob[animob]; $date1 = $recupob[date_1]; $date2 = $recupob[date_2]; } } } } echo "<b>Inscriptions de l'école : $ECOLE</b>"; echo "<br/><br/>"; echo "</table>"; echo "<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>"; echo "<b>Précisions ou propositions :</b> $_POST[propo]"; echo "<br/><br/>"; echo "<center><h3>DEMANDE ENREGISTRÉE</h3></center>"; echo "<br/><br/><br/><br/>"; ?>
mais rien n'y fait, je n'y arrive pas. La première ligne se remplit sauf une colonne et tout s'arrête car l'enregistrement est incomplet.
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 elseif (preg_match("/ci/",$idNom)) { $NOM = substr ($idNom, 10); $rqani = mysql_query("SELECT anim, date_format(date_1,'%d-%m-%y')AS date_1, date_format(date_2,'%d-%m-%y')AS date_2, id_nom, FROM jos_ecole_anim_ci, jos_ecole_etat WHERE id_anim='$idAnim' AND id_nom='$NOM'") OR die("impossible recupci"); while ($recupci=mysql_fetch_array($rqani)) { $anim = $recupci[anim]; $date1ci = $recupci[date_1]; $date2ci = $recupci[date_2]; } } else { $NOM = substr ($idNom, 10); $rqanimob = mysql_query("SELECT animob, Nom, Prénom,date_format(date_1ob,'%d-%m-%y')AS date_1ob, date_format(date_2ob,'%d-%m-%y')AS date_2ob, id_nom, ECOLE FROM jos_ecole_animob, jos_ecole_etat WHERE id_animob='$idAnim'AND id_nom='$NOM'") OR die ("impossible rqanimob"); while ($recupob=mysql_fetch_array($rqanimob)) { $ECOLE = $recupob[ECOLE]; $tabNom = $recupob[Nom]; $tabprenom = $recupob[Prénom]; $animob = $recupob[animob]; $date1 = $recupob[date_1ob]; $date2 = $recupob[date_2ob]; }
Si vous pouviez m'aider, pauvre débutant, à arrêter de tourner en rond
Merci
Partager