J'ai résolu le problème en coupant la chaîne de caractères lors de l'insertion des valeurs dans le menu déroulant.
Code php : 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 $result7 = $mysqli->query("SELECT DISTINCT reseaux.nom_reseau, reseaux.rne, anuetab.dept, anuetab.uaicom From anuetab INNER JOIN reseaux On reseaux.rne=anuetab.rne INNER JOIN fet ON fet.netab = anuetab.rne WHERE(anuetab.sectco='PU') AND (anuetab.rne!='0771357G')AND (anuetab.rne!='0930863H') AND (anuetab.rne!='0771436T') AND reseaux.nom_reseau!='' GROUP BY anuetab.uaicom ORDER By substr(reseaux.rne,2,2) DESC, reseaux.nom_reseau DESC, anuetab.uaicom DESC"); while ($row = $result7->fetch_assoc()) { $tabcommuner=array(); $tabcommuner=array($row['uaicom']=>$row['nom_reseau']); foreach ($tabcommuner as $keycommuner=>$valuecommuner) { $tableaucommuner[]=$keycommuner.",".$valuecommuner; } }
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 var tableaucommuner; var tableaucommuner=<?= json_encode($tableaucommuner) ?>; function remplirCommuner(code){ var communer = new Array(); communer[0] = new Array(); for(i=0;i<tableaucommuner.length;i++){ var reseaurr=tableaucommuner[i].toString().split(","); var reseaurrsplit=reseaurr[1]; if(communer[reseaurrsplit]!= undefined){ //on supprime le code du réseau dans le select des réseaux communer[reseaurrsplit] = new Array(tableaucommuner[i]).concat(communer[reseaurrsplit]) ; } else if(communer[reseaurrsplit]==undefined){ //on fait le premier choix communer[reseaurrsplit] = new Array(tableaucommuner[i]); } var lesCommuner = communer[ code ]; } document.getElementById('commune').options.length = lesCommuner.length; //on rajoute l'option "Choisir" en JavaScript var oSelect = document.getElementById('commune'); var oOption = document.createElement('OPTION'); oSelect.options.add(oOption); //pour que le menu Choisir soit toujours au début (..) oOption.text = "..Choisir"; oOption.value = ""; //Si le réseau est choisi if (code!=0){ for (i=0; i<lesCommuner.length; i++){ //pour ne ramener que les communes, on coupe la chaîne de caractères lesCommuner[i]=lesCommuner[i].split(","); lesCommuner[i]=lesCommuner[i][0]; document.getElementById('commune').options[i].value=lesCommuner[i]; document.getElementById('commune').options[i].text = lesCommuner[i]; } //on trie le menu déroulant pour avoir "..Choisir en premier' Listec=new Array(); Objc= document.getElementById('commune'); for(i=0;i<Objc.options.length;i++){ Listec[i]=new Array(); Listec[i][0]=Objc.options[i].text; Listec[i][1]=Objc.options[i].value; } Listec=Listec.sort(); for(i=0;i<Objc.options.length;i++){ Objc.options[i].text=Listec[i][0]; Objc.options[i].value=Listec[i][1]; } Objc.options.selectedIndex = 0; } else{ document.getElementById('commune').options.length = 1; document.getElementById('commune').value = 0; document.getElementById('commune').options[0].text = "-- Choisissez une commune"; } }
Partager