PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 09-11-2011 16:00:05

lokicorp
Membre
Inscription : 09-11-2011
Messages : 1

XAJAX probleme pour générer une liste déroulante à partir d'une autre

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

<?php session_start();

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

#2 09-11-2011 21:03:51

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : XAJAX probleme pour générer une liste déroulante à partir d'une autre

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

#3 09-11-2011 21:10:38

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : XAJAX probleme pour générer une liste déroulante à partir d'une autre

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é big_smile

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"

lol

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

Pied de page des forums