Vous n'êtes pas identifié(e).
Bonjour,
je me lance tout juste dans ajax et je souhaite utiliser XAJAX mais mon premier teste n'est pas tres concluant.
Je cherche à afficher une liste déroulante en fonction du résultat d'une autre liste déroulante.
A l'écran rien ne se passe, pas d'erreurs, pas de seconde liste déroulante.... rien.
voici mon code
function AfficherCodes($poles_id)
{
$reponse = new xajaxResponse();
$liste_codes = '<select name="pro_codes" size="5" multiple>';
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=db_test', 'root', '', $pdo_options);
$reponse_qr = $bdd->query('SELECT * FROM codes WHERE poles_id = "'.$poles_id.'"');
while($data = $reponse_qr->fetch())
{
$liste_codes .= '<option value="'.$data['codes_id'].'">'.$data['codes_nom'].' - '.$data['codes_titre'].'</option>';
}
$reponse_qr->closeCursor();
$liste_codes .= '</select>';
$reponse->assign('block_liste_codes', 'innerHTML', $liste_codes);
return $reponse;
}
require ('/app/htdocs/intranet/xajax/xajax_core/xajax.inc.php');
$xajax = new xajax(); //On initialise l'objet xajax.
$xajax->register(XAJAX_FUNCTION, 'AfficherCodes');// On enregistre nos fonctions.
$xajax->processRequest();
echo'<form>
<select id="choix_poles" name="poles_id" class="champform_liste" onChange="xajax_AfficherCodes(this.value)"><option value="0"></option>
';
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=db_test', 'root', '', $pdo_options);
$reponse = $bdd->query('SELECT * FROM poles');
while ($data = $reponse->fetch())
{
echo '<option value="'.$data['poles_id'].'">'.$data['poles_nom'].'</option>';
}
$reponse->closeCursor();
echo'
<option value="FT_PAPC">Fonctions</option></select>
';
$xajax->printJavascript('../../../xajax/');
echo'
<script type="text/javascript">
function refresh()
{
xajax_AfficherCodes();
setTimeout(refresh, 5000);
}
</script>
<div id="block_liste_codes"></div></form>
';
?>
Hors ligne
Bonjour,
???? C'est quoi ce XAJAX ????
Je rappele au cas où que PHP est un language qui s'éxécute du côté serveur, que de générer un code javascript en PHP n'a aucun intérêt (où alors faut que l'on m'explique), que javascript sert à manipuler le DOM et donc l'affichage car le HTML est le seul code que le navigateur utilise pour l'affichage.
Alors pourquoi générer un code javascript en PHP qui ne représente aucun intérêt, juste au cas où: Le javascript a besoin d'être chargé au niveau local pour être interprété, et il est inutile de surcharger les calculs du côté serveur pour quelque chose qui sera recalculé coté client.
Le seul but d'Ajax, car il me semble que XAjax à la vocation de faire de l'ajax, c'est d'aller requêter le serveur pour récupérer des données que seul le serveur connait pour les rapatrier sur le client sans recharger la page.
Désolé, mais a ta place j'oubllierais vite XAjax...
++
Dernière modification par Jc (09-11-2011 21:13:57)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Note: Si le but est de manipuler le DOM à partir de PHP via javascript en asynchrone, c'est tout sauf de l'ajax, et la méthodologie est techniquement très passable. Il y a plus performant que semble l'être cette technologie si on peut appeler cela une technologie.
Comme dirait Pierrot, pourquoi faire simple quand on peut faire compliqué
EDIT: J'ai peut être une idée: ca a du être inventé par un dev PHP parano qui ne voulait plus que quiconque ait accès librement au code Javascript tout pourri qu'il developpe et il a du en avoir marre d'entendre des trucs du style, "eh bien mon vieux si tu développes en PHP comme du dev en Javascript, ca doit pas être bien beau à regarder"
Dernière modification par Jc (09-11-2011 21:17:27)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne