Bonjour a tous.

En fait je suis a la recherche d'un exemple concret car je n'arrive pas a comprendre et adapter les tutos existants en ligne.

Je dois remplir un select a partir d'une base de donnees mysql dans un fichier javascript qui est importé dans la page php.

La page php je l'ai faite avec un retour en json mais comment acceder concretement a cette page et exploiter ce qu'elle me renvoi?

Si quelqun pouvait m'expliquer cela (je comprends vite mais faut m'expliquer longtemps lol) ça serait genial.

Merci d'avance

la page php avec l'acces a la base et l'encodage json:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
$requete['type_ligne']="SELECT id_type_ligne, nom_type, type_ligne FROM type_ligne;";
$type_ligne=$sql->TabResSQL($requete['type_ligne']);
$type_ligne=json_encode($type_ligne);
return $type_ligne;
?>

le code js dans le quel je dois integrer le resultat:
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
function ajout_nombre_select(nb, objInput)
{
	var reg = /^[0-9]*$/;
 
	if(!reg.test(objInput.value))
	{
		objInput.value = objInput.value.substring(0,objInput.value.length-1);
	}
	//recuperation du conteneur (div) qui contiendra les select
	c=document.getElementById('div_a_remplir_suivant_nb_po');
	//Suppression des select presents dans le conteneur au cas de changement avant remplissage
	//avec le bon nombre de select
	while (c.hasChildNodes())
	{
		c.removeChild(c.lastChild);
	}
 
	//Boucle qui remplis le conteneur avec le nombre de select demande.
	for(boucle = 1; boucle <= nb; boucle++)
	{
		//creation du label contenant le titre du select
		label=document.createElement("label");
		//creation neud de text pour le label
		text_label= document.createTextNode('PO N°'+boucle);
		//asignation du neud text au label
		label.appendChild(text_label);
		//creation span
		span=document.createElement("span");
		//attribution de la classe filtre legende au span
		span.setAttribute('class',"filtres legende");
		//assignation du label au span
		span.appendChild(label);
		//assignation du span au conteneur (div)
		c.appendChild(span);
		//creation du select
		ch=document.createElement('select');
 
 
 
		elem1=document.createElement("option");
		elem2=document.createElement("option");
		elem3=document.createElement("option");
//                                        Attribution des valeurs au select
		elem1.setAttribute('value',"...");
		elem2.setAttribute('value',"analogique");
		elem3.setAttribute('value',"numerique");
//                                        Creation des neux de text qui seront affiche dans le select
		valeur1 = document.createTextNode('...');
		valeur2 = document.createTextNode('Analogique');
		valeur3 = document.createTextNode('Numerique');
//                                        Atribution des neux de text aux options
		elem1.appendChild(valeur1);
		elem2.appendChild(valeur2);
		elem3.appendChild(valeur3);
//                                        Atribution des options au select
		ch.appendChild(elem1);
		ch.appendChild(elem2);
		ch.appendChild(elem3);
//                                        On donne un nom au select
		ch.setAttribute('name',"po"+boucle);
//                                         Atribution du select au conteneur
		c.appendChild(ch);
 
 
		//creation du label contenant le titre de la checkbox
		label2=document.createElement("label");
		//creation neud de text pour le label
		text_label2= document.createTextNode('Mise en continuité');
		//asignation du neud text au label
		label2.appendChild(text_label2);
		//creation span
		span2=document.createElement("span");
		//attribution de la classe filtre legende au span
		span2.setAttribute('class',"filtres legende");
		//assignation du label au span
		span2.appendChild(label2);
		//assignation du span au conteneur (div)
		c.appendChild(span2);
		//creation de la checkbox
		ch2=document.createElement('input');
		ch2.setAttribute('type','checkbox');
		//Attribution des valeurs à la checkbox
		ch2.setAttribute('value',"oui");
		//On donne un nom à la checkbox
		ch2.setAttribute('name',"mise_en_con"+boucle);
		//Atribution de la checkbox au conteneur
		c.appendChild(ch2);
 
 
			 //creation du label contenant le titre du select
		label=document.createElement("label");
		//creation neud de text pour le label
		text_label= document.createTextNode('Avec PO N°');
		//asignation du neud text au label
		label.appendChild(text_label);
		//creation span
		span=document.createElement("span");
		//attribution de la classe filtre legende au span
		span.setAttribute('class',"filtres legende");
		//assignation du label au span
		span.appendChild(label);
		//assignation du span au conteneur (div)
		c.appendChild(span);
		//creation du select
		ch=document.createElement('select');
		//creation des options
 
		for(var i = 1; i <= nb; i++)
		{
 
			if(i!=boucle)
			{
				elem=document.createElement("option");
				elem.setAttribute('value',i);
				valeur = document.createTextNode(i);
				elem.appendChild(valeur);
				ch.appendChild(elem);
			}
 
 
		}
 
		//On donne un nom au select
		ch.setAttribute('name',"po2"+boucle);
		 //Atribution du select au conteneur
		c.appendChild(ch);
 
	   //creation d'un br'
		separateur = document.createElement("br");
		//Atribution du br au conteneur apres le select.
		c.appendChild(separateur);
	}
}