Bonjour
J'ai tourné le probléme dans tout les sens, j'ai effectué des recherches qui m'ont permi d'améliorer mon code mais j'ai toujours un probléme que je n'arrive pas à résoudre.
Explication :
Je lance une requête mysql sur une table contenant entre autre un champ nommé ['Reference'].
Je souhaite remplir la liste déroulante à partir du tableau $Reftab contenant les References trouvées. La taille de $Reftab varie en fonction du résultat de la requête.
Je ne veux pas éxécuter la requête dans le <select>.
Voici le code qui fonctionne mais qui ne prend pas en compte la taille du tableau :
Et voici le code le moins tordu parmi tout ceux que j'ai essayé qui prend en compte la taille du tableau
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 <?php $id = $_GET["id"]; $rep = $_GET["rep"]; $host = "xxxx"; $user = "xxxx"; $pass = "xxxx"; $base = "xxxx"; if($db = mysql_connect($host, $user, $pass)) { if($dbb = mysql_select_db($base)) { $query = "SELECT * FROM `catalogue` WHERE `Index` = '$id' AND `Rep` = '$rep'"; $result = mysql_query($query); $i = 0; while($tab = mysql_fetch_array($result)) { global $Reftab; $Reftab[$i] = $tab['Reference']; $i++; } mysql_close(); } else { die("connexion à la base $base impossible"); } } else { die("connexion au serveur $host impossible"); } ?> <HTML> <HEAD> </HEAD> <BODY> <form name="form1"> Référence N° <SELECT name="Refcombo" onChange=""> <OPTION VALUE=""> <?php echo $Reftab[0]; ?> </OPTION> <OPTION VALUE=""> <?php echo $Reftab[1]; ?> </OPTION> <OPTION VALUE=""> <?php echo $Reftab[2]; ?> </OPTION> </SELECT></td> </form> </BODY></HTML>![]()
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 <?php $id = $_GET["id"]; $rep = $_GET["rep"]; $host = "xxxx"; $user = "xxxx"; $pass = "xxxx"; $base = "xxxx"; if($db = mysql_connect($host, $user, $pass)) { if($dbb = mysql_select_db($base)) { $query = "SELECT * FROM `catalogue` WHERE `Index` = '$id' AND `Rep` = '$rep'"; $result = mysql_query($query); $i = 0; while($tab = mysql_fetch_array($result)) { global $Reftab; $Reftab[$i] = $tab['Reference']; $i++; } mysql_close(); } else { die("connexion à la base $base impossible"); } } else { die("connexion au serveur $host impossible"); } ?> <HTML> <HEAD> </HEAD> <BODY> <form name="form1"> Référence N° <SELECT name="Refcombo" onChange=""> <script language="javascript"> for (i=0; i< <?php echo count($Reftab); ?> i++) document.write("<option value=\"\">" + <?php echo $Reftab[i]; ?> + "</option>"); //Je pense que i n'est pas accessible dans echo $Reftab[i]; </script> </SELECT></td> </form> </BODY></HTML>
Partager