Probléme listes

lili -  
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j ai un formulaire contenant 3 listes déroulantes : filiére,niveau,groupe
bon la liste filiere est alimentée apartir de la bdd ,la 2eme des niveau et remplie apartir de la bdd mai en fonction de la filére et la 3 eme doit etre remplie apartir de la bdd mai en fonction de la 2eme liste la liste des filiere et niveaux sont boien remplie mai je sai pa pourquoi la liste des groupe reste vide voici le code svp aidez moi a localiser le probléme,
<?php include 'connexion.php';
require_once("xajax/xajax.inc.php");

function SelectNiveau($filiere)
{
$options="";
// 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_niveau,libel_niveau FROM tab_niveau WHERE filiere = '$filiere';" ;
$req=mysql_query($sql);
while ($niveau = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$niveau['id_niveau'].'">' . $niveau['libel_niveau'].'</option>';
}

// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse->addAssign("niveau","innerHTML",$options);
// envoie la réponse en XML
return $objResponse->getXML();

}
$xajax = new xajax();
//$xajax->debugOn();
$xajax->registerFunction("SelectNiveau");
$xajax->processRequests();

function SelectGroupe($niveau)
{
$options1="";
// créé un nouvel objet permettant d'envoyer une réponse au côté client
$objResponse1 = new xajaxResponse();
// on selectionne les sous-catégorie en fonction de l'id de la catégorie mère
$sql1="SELECT id_groupe,libel_groupe FROM tab_groupe WHERE niveau = '$niveau';" ;
$req1=mysql_query($sql1);
while ($groupe = mysql_fetch_array($req1))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options1 .= '<option value="'.$groupe['id_groupe'].'">' . $groupe['libel_groupe'].'</option>';
}

// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse1->addAssign("groupe","innerHTML",$options1);
// envoie la réponse en XML
return $objResponse1->getXML();

}
$xajax1 = new xajax();
//$xajax->debugOn();
$xajax1->registerFunction("SelectGroupe");
$xajax1->processRequests();
?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Gestion d'absence</title>
<?php $xajax->printJavascript("xajax") ?>
<link rel="stylesheet" href="style.css" media="screen" />

<tr>
<td height="35">Filiére</td>
<td><select name="filiere" id="filiere" onchange="xajax_SelectNiveau(this.value)">
<?php
$req="SELECT * FROM tab_filiere";
$res=mysql_query($req);
if( mysql_num_rows($res) > 0 ) {
while($row=mysql_fetch_row($res) ) {
echo"<option value=\"".$row[0]."\">".$row[1]."</option>";
}
} else {
// Pas d'entrées.
echo"<option value=\"\">Aucune filière</option>";

}
?>
</select>
</td>
</tr>

<tr>
<td height="35">Niveau</td>
<td><select name="niveau" id="niveau" onchange="xajax_SelectGroupe(this.value)">

</select>
</td>
</tr>
<tr>
<td height="35">Groupe</td>
<td><select name="groupe" id="groupe">

</select>
</td>
</tr>
<tr>

merci
A voir également:

4 réponses

lili
 
por la deuxieme liste ca marche mai pour la troisieme une fois je change la valeur de la deuxiéme un message s affiche"unknown function SelectGroup"
svp aidez moi
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
Quel est le code JS généré ?
0
lili
 
c'est la fonction SelectGroupe qui ne marche pas ou qui n'est pa peut etre connue,pour la deuxieme liste ca marche bien et j ai refait le meme code evec la troisieme et je sai pas pourquoi ca ne marche pas merci bien de m'aider
0
lili
 
est ce que apré chaque une des fonctions selectNiveau et SelectGroupe on doi faire ces troi lignes:
$xajax1 = new xajax();
//$xajax->debugOn();
$xajax1->registerFunction("SelectNiveau");
$xajax1->processRequests();
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
Ça c'est une librairie en PHP qui génère le vrai code Javascript pour faire de l'AJAX, je ne l'ai jamais utilisé donc je ne saurais pas t'en dire plus.
Par contre je sais utilisé le vrai AJAX (sans 'x', donc en JS) alors il me faudrait le code source JS généré (Ctrl+U lorsque tu es sur ta page avec le navigateur).
0
lili
 
oui je voi bien merci moi meme j ai jamais travaillé ni avec ajax ni xajax c'est un code que j ai trouvaé sur internet et je l ai adapté a mes besoin ca marché pour 2 listes mai pour la troisieme nn ,
mnt avec ce code aucun message d'erreur ne s'affiche mai la liste des groupes reste vide

<?php include 'connexion.php';
require_once("xajax/xajax.inc.php");

function SelectNiveau($filiere)
{
$options="";
// 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_niveau,libel_niveau FROM tab_niveau WHERE filiere = '$filiere';" ;
$req=mysql_query($sql);
while ($niveau = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$niveau['id_niveau'].'">' . $niveau['libel_niveau'].'</option>';
}

// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse->addAssign("niveau","innerHTML",$options);
// envoie la réponse en XML
return $objResponse->getXML();

}

$xajax = new xajax();
//$xajax->debugOn();
$xajax->registerFunction("SelectNiveau");
$xajax->processRequests();


function SelectGroupe($niveau)
{
$options="";
// 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_groupe,libel_groupe FROM tab_groupe WHERE niveau = '$niveau';" ;
$req=mysql_query($sql1);
while ($groupe = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$groupe['id_groupe'].'">' . $groupe['libel_groupe'].'</option>';
}

// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse1->addAssign("groupe","innerHTML",$options);
// envoie la réponse en XML
return $objResponse1->getXML();

}
$xajax1 = new xajax();
//$xajax->debugOn();
$xajax1->registerFunction("SelectNiveau");
$xajax1->processRequests();
?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Gestion d'absence</title>
<?php $xajax ->printJavascript("xajax") ?>
<?php $xajax1->printJavascript("xajax") ?>
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
Je te conseil d'apprendre le vrai AJAX d'abord :
https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/244425-le-concept-dajax
https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/244798-lobjet-xmlhttprequest
0