[AJAX] 2 listes liées + affiche Var en fonction de la 2ème
Bonjour, mon but est de lier 2 listes (ça c'est OK), et d'afficher la valeur de 3 variables en fonction du choix de ma 2emme liste.
je me suis servi du tuto : http://siddh.developpez.com/articles/ajax/
donc j'ai 1 table auteur
avec champ id,nom
1 table livre
avec champ id,titre,idAuteur,prixPu,PrixAL,prixCE
suivant le livre(2emme liste) je veux afficher mes 3 prix.
Est-ce que mes prix peuvent être dans la même table que les livres?
j'affiche mes 3 variables dans un div, est-ce possible? ou dois-je les mettre respectivement dans un SELECT?
j'ai adapté une 2emme fonction en mettant bien le onchange dans le 2emme select
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| function affichePrix(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
alert(xhr.readyState);
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
di = document.getElementById('BoitePrix');
di.innerHTML = xhr.responseText;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","ajaxAprix.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de l'auteur
idprix = document.getElementById('livre').options[document.getElementById('livre').selectedIndex].value;
//alert(idprix);
xhr.send("id="+idprix);
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <div id="BoitePrix" style="float:left;width:100px;text-align:right;margin:1px 0 0 0;">
<?php
$resp1 = mysql_query("SELECT prixPu FROM livre");
$VarPU=mysql_result($resp1,0,"prixPu");
$resp2 = mysql_query("SELECT prixAL FROM livre");
$VarAV=mysql_result($resp2,0,"prixAL");
$resp3 = mysql_query("SELECT prixCE FROM livre");
$VarCE=mysql_result($resp3,0,"prixCE");
?>
<?php echo $VarPU; ?>
<br/>
<?php echo $VarAV; ?>
<br/>
<?php echo $VarCE; ?>
</div> |
et créé un fichier ajaxprix.php
Code:
1 2 3 4 5 6 7 8 9 10 11
| if(isset($_REQUEST["id"])){
//ma connexion
$resp1 = mysql_query("SELECT id,prixPu FROM livre WHERE id=".$_REQUEST["id"]." ");
$VarPU=mysql_result($resp1,$_REQUEST["id"],"prixPu");
}
else
$VarPU = "ras";
echo $VarPU; |
rien ne se passe quand je sélectionne ma 2emme liste, cela fait un moment que je suis dessus et malgré les excellent tutos je n'arrive pas a me dépatouiller.