Liste déroulante PHP - AJAX
Résolu
krysis
Messages postés
14
Statut
Membre
-
jpom -
jpom -
Bonjour,
J'ai crée aprioris un script afin de faire une liste déroulante dynamique mais sa n'a pas trop l'air de marcher !!
Je réussi a avoir la liste des Bureau mais pas celle des prise. Excusez mon vocabulaire mais cela fait 1 semaine que j'ai decouvert MySQL EASYPHP et :p
Voila mon Script :
<?php
// Configuration MySQL
$host_db = "localhost";
$user_db = "root";
$password_db = "";
$bdd_db = "reel_ip";
// 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 Selectprise($bureauid)
{
$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 prise FROM prise WHERE prise = '".$bureauid."'";
$req=mysql_query($sql);
while ($prise = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$prise['id'].'">'.$prise['prise'].'</option>';
}
// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse->addAssign("liste_prise","innerHTML",$options);
// envoie la réponse en XML
return $objResponse->getXML();
}
$xajax = new xajax();
//$xajax->debugOn();
$xajax->registerFunction("Selectprise");
$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("\xajax_js") ?>
</head>
<body>
<center>
<h1>RECHERCHE</h1>
<form id="testForm1">
<br>
<br>
Choisissez un Bureau : <select id="liste_bureau" onchange="xajax_Selectprise(this.value)">
<option value=""></option>
<?php
$sql="SELECT bureau FROM bureau ORDER BY bureau ASC";
$req=mysql_query($sql) or die(mysql_error());
while($bureau = mysql_fetch_array($req))
{
echo '<option value="' . $bureau['bureau'].'">' . $bureau['bureau'] . '</option>';
}
?>
</select><br />
<br>
</br>
</br>
Choisissez une prise : <select id="liste_prise">
</select>
</form>
</center>
</body>
</html>
En espérant une réponse très prochainement je vous remercie de l'attention que vous porterez a ma demande.
J'ai crée aprioris un script afin de faire une liste déroulante dynamique mais sa n'a pas trop l'air de marcher !!
Je réussi a avoir la liste des Bureau mais pas celle des prise. Excusez mon vocabulaire mais cela fait 1 semaine que j'ai decouvert MySQL EASYPHP et :p
Voila mon Script :
<?php
// Configuration MySQL
$host_db = "localhost";
$user_db = "root";
$password_db = "";
$bdd_db = "reel_ip";
// 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 Selectprise($bureauid)
{
$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 prise FROM prise WHERE prise = '".$bureauid."'";
$req=mysql_query($sql);
while ($prise = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$prise['id'].'">'.$prise['prise'].'</option>';
}
// l'Ajax remplacera le innerHTML (html intérieur) de la liste_souscat pour y mettre $options
$objResponse->addAssign("liste_prise","innerHTML",$options);
// envoie la réponse en XML
return $objResponse->getXML();
}
$xajax = new xajax();
//$xajax->debugOn();
$xajax->registerFunction("Selectprise");
$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("\xajax_js") ?>
</head>
<body>
<center>
<h1>RECHERCHE</h1>
<form id="testForm1">
<br>
<br>
Choisissez un Bureau : <select id="liste_bureau" onchange="xajax_Selectprise(this.value)">
<option value=""></option>
<?php
$sql="SELECT bureau FROM bureau ORDER BY bureau ASC";
$req=mysql_query($sql) or die(mysql_error());
while($bureau = mysql_fetch_array($req))
{
echo '<option value="' . $bureau['bureau'].'">' . $bureau['bureau'] . '</option>';
}
?>
</select><br />
<br>
</br>
</br>
Choisissez une prise : <select id="liste_prise">
</select>
</form>
</center>
</body>
</html>
En espérant une réponse très prochainement je vous remercie de l'attention que vous porterez a ma demande.
Configuration: Windows XP Firefox 2.0.0.14
10 réponses
-
-
Ok ok, bon le problème c'est que c'est diffiicle de t'aider juste en lisant un code(mon cerveau n'interprète pas encore...)
Si tu peux mettre en ligne le tout...
Ou alors me filer tous les scripts (js, php, html et SQL)...
Voilà @+ -
-
http://www.megaupload.com/?d=2ZEA4VH3 > Fichier php
http://www.megaupload.com/?d=XT0K4D7I > Fichier SQL -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Merci a l'heure actuelle je cherche encore la solution je ne plus progresser dans mon site sans ça !! :p
-
je n'ai pas encore vérifier les scripts mais tu peux déjà faire 2 corrections :
echo '<option value="' . $bureau['bureau'].'">' . $bureau['bureau'] . '</option>';
à remplacer par
echo '<option value="' . $bureau['iid'].'">' . $bureau['bureau'] . '</option>'; //je pense
et surtout :
Choisissez une prise : <select id="liste_prise">
</select>
à remplacer par
Choisissez une prise : <select>
<div id="liste_prise"></div>
</select> -
Je laisse > Choisissez un bureau : <select id="liste_bureau" onchange="xajax_Selectprise(this.value)">
<option value=""></option>
et je change > Choisissez une prise : <select>
<div id="liste_prise"></div>
</select>
sa aussi > Choisissez une iP : <select>
<div id="liste_ip"></div>
</select>
c'est correcte pour l'instant ? -
J'ai modifié mon fichier PHP c'est mieux mais je suis toujours aussi blocké !! :))
http://www.megaupload.com/?d=UMNJZPED -