Bonjour,
Problème tout simple mais je ne comprends plus rien à mon avis car je ne suis même pas capable de le résoudre alors que j'arrive à utiliser ajax pour éxécuter des requêtes sql...
Je souhaiterai, lorsque je choisis une marque dans un select, afficher les catégories correspondantes en temps réel (d'où l'utilisation de AJAX).
J'ai donc mon select qui fonctionne très bien =>
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 <?php $dbconnect=pg_connect("host=localhost dbname=PTI user=postgres password=ifesuh2m"); echo'<select id="marque">'; $sql = 'SELECT num_mar,lib_mar FROM marque'; $req = pg_query($dbconnect,$sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $i=1; echo '<option value="0">Sélectionner une marque</option>'; while ($data = pg_fetch_array($req)) { echo "<option value='".$data['num_mar']."'>".$data['lib_mar']."</option>"; } pg_free_result ($req); pg_close (); echo'</td><td><INPUT TYPE="reset" VALUE="Effacer"><INPUT TYPE="button" VALUE="Valider" onclick="ajaxFunction()"></td> </select>'; ?>
Toujours dans la même page, j'ai une fonction qui me permet d'envoyer le résultat de l'option choisis à ma page marque.php:
Code js : 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 function ajaxFunction() { var ajax; try{ // Opera 8.0+, Firefox, Safari ajax = new XMLHttpRequest(); }catch (e){ // Internet Explorer Browsers try{ ajax = new ActiveXObject("Msxml2.XMLHTTP"); }catch (e) { try{ ajax = new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ alert("Ne fonctionne pas!"); return false; } } } ajax.onreadystatechange = function(){ if(ajax.readyState == 4 && ajax.status == 200){ var ajaxDisplay = document.getElementById('marque'); ajaxDisplay.value = ajax.responseText; } } var id = document.getElementById("marque").value; ajax.open("GET", "php/marque.php?nummar_cat="+id, true); ajax.send(null); }
Et ma page marque.php:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php $dbconnect=pg_connect("host=localhost dbname=PTI user=postgres password=ifesuh2m"); $id=$_GET['id']; $req = "SELECT lib_cat FROM categorie WHERE nummar_cat ='". $id ."'"; $resultat = pg_query($req); while ($modèle = mysql_fetch_array($resultat) { echo "". $modele['lib_cat'] .""; } ?>
Sauf que l'écho ne s'affiche pas et c'est là que je ne comprends pas. Comment faire pour que le résultat s'affiche lors de la sélection ?
Merci beaucoup.![]()
Partager