PHP|Débutant :: Forums

Advertisement

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

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

#1 Forum Général PHP » XAJAX probleme pour générer une liste déroulante à partir d'une autre » 09-11-2011 21:10:38

lokicorp
Réponses : 2

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>
';
?>

Pied de page des forums

Propulsé par FluxBB