Bonjour
J'ai implémenté des listes liées déroulantes qui fonctionnent.
Simplement, je valide mes choix et je recharge la page.
Au moment où la page se recharge, j'aimerais mettre en premier dans la deuxième liste déroulante (qui est liée à la première), ce que j'ai choisi juste avant (pour la première liste déroulante, pas de problème).
Mais je ne sais pas trop comment introduire le "selected".
Pourriez-vous m'indiquer comment démarrer dans la bonne direction ?
Ci joint la partie de code principal:
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 <select class="highlight" id="Directory_Select" onchange="request(this);" name="Directory_Select"> <option value="ALL">ALL</option> <?php $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd2 = new PDO('mysql:host=localhost;dbname=' . $newdbName, 'root', '', $pdo_options); $req2 = $bdd2->query('SELECT DISTINCT type_of_vehicle FROM vehicle_type_and_id_table ORDER BY type_of_vehicle'); while ($dir_data = $req2 -> fetch()) { ?> <option value="<?php echo $dir_data["type_of_vehicle"]?>" <?php echo ($dir_data["type_of_vehicle"]==$_SESSION['recup_Directory_Select']) ? "selected=\"selected\"" :"" ?> ><?php echo $dir_data["type_of_vehicle"] ?></option> <?php } ?> </select> puis choisissez son nom <!-- sinon les résultats sont rangés sur une seule ligne --> <!-- <div style="float:none;clear:both;height:1px;"></div> --> <span id="loader" style="display: none;"><img src="images/loader.gif" alt="loading" /></span> <select id="Subdirectories_Select" name="Subdirectories_Select" class="highlight"> </select> <input type = "submit" value = "Valider" />
et celles où je constitue la deuxième liste
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 function readData(oData) { //analyse les données XML et recrée les éléments <option> de la liste déroulante : var nodes = oData.getElementsByTagName("item"); var oSelect = document.getElementById("Subdirectories_Select"); var oOption, oInner; oSelect.innerHTML = ""; for (var i=0, c=nodes.length; i<c; i++) { oOption = document.createElement("option"); oInner = document.createTextNode(nodes[i].getAttribute("name")); oOption.value = nodes[i].getAttribute("id"); if ( (nodes[i].getAttribute("name")) == "<?php echo $_SESSION['recup_Subdirectories_Select']?>" ) { // je pense que je dois mettre qqch ici } else{ } oOption.appendChild(oInner); oSelect.appendChild(oOption); } }
et
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 <?php header("Content-Type: text/xml"); echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; echo "<list>"; $directory_name = (isset($_POST["directory_name"])) ? htmlentities($_POST["directory_name"]) : NULL; if ($directory_name) { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=stats_m3s_db', 'root', '', $pdo_options); $req = $bdd -> query("SELECT * FROM vehicle_type_and_id_table WHERE type_of_vehicle ='" . mysql_real_escape_string($directory_name)."'" ) ; while ($data = $req -> fetch()) { echo "<item id=\"" . $data["vehicle_id"] . "\" name=\"" . $data["vehicle_id"] . "\" />"; } echo "<item id=\"ALL\" name = \"ALL\"/>"; // permet de choisir l'option ALL $req->closeCursor(); } echo "</list>"; ?>
Partager