Bonjour,

Je suis tout débutant en AJAX et programmeur de petit niveau. Aussi, ai-je tenté d'appliquer le tutorial suivant : http://www.6ma.fr/tuto/listes+deroul...iques+ajax-301

Ce n'est pas le premier tutorial que je teste sur ce sujet, sans résultat.

J'ai donc bien chargé via FTP la bibliothèque XAJAX standard trouvée ici http://xajaxproject.org/en/download/ à la racine de mon site (hébergement mutualisé chez Haisoft), et créé dans ma base de données les deux tables nécessaires.

J'ai ensuite mis sur mon serveur le script suivant (celui du tutorial) et là, je ne sais pas pourquoi la seconde liste reste désespérément vide (pas de soucis pour la première, preuve d'une bonne connexion SQL).

Quelqu'un peut-il me dire ce qui cloche ? C'est surement un détail idiot, mais je ne le vois pas (honte à moi !). D'avance merci de votre aide...

Voici le script tenté :

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
<?php
// Configuration MySQL
$host_db = "mon_site";
$user_db = "mon_user";
$password_db = "mon_mot_de_passe";
$bdd_db = "ma_base";
 
// connexion a la base de donnees et selection de la table
$connect_db = mysql_connect($host_db,$user_db,$password_db);
mysql_select_db($bdd_db,$connect_db);
 
require_once("xajax_core/xajax.inc.php");
 
function SelectSouscat($catid)
{
$options="";
$options = '<option value="">Test</option>';
$options .= '<option value="">pour voir</option>';
$options .= '<option value="">si cela fonctionne</option>';
// créé un nouvel objet permettant d'envoyer une réponse au côté client
$objResponse = new xajaxResponse();
 
// on selectionne les sous-catégorie en fonction de l'id de la catégorie mère
$sql="SELECT id,titre FROM souscategories WHERE id_cat_mere = '".$catid."'";
$req=mysql_query($sql);
 
while ($souscat = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$souscat['id'].'">'.$souscat['titre'].'</option>';
}
 
// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse->addAssign("liste_souscat","innerHTML",$options);
// envoie la réponse en XML
return $objResponse->getXML();
}
 
$xajax = new xajax();
//$xajax->debugOn();
$xajax->registerFunction("SelectSouscat");
$xajax->processRequest();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test de select dynamiques</title>
<?php $xajax->printJavascript("../") ?>
</head>
<body>
 
<h1>Test de select dynamiques</h1>
 
<form id="testForm1">
Choisissez une catégorie : <select id="liste_cat" onchange="xajax_SelectSouscat(this.value)">
<option value=""></option>
<?php
$sql="SELECT id_categorie, categorie FROM categories ORDER BY categorie ASC";
$req=mysql_query($sql) or die(mysql_error());
while($cat = mysql_fetch_array($req))
{
echo '<option value="'.$cat['id_categorie'].'">' . $cat['categorie'] . '</option>';
}
?>
</select><br />
Choisissez une sous-catégorie : <select id="liste_souscat">
</select>
</form>
 
</body>
</html>