tout les remarque sont les bienvenu c'est le but de ce forum ! j'ai juste pas lu ton commentaire
Version imprimable
tout les remarque sont les bienvenu c'est le but de ce forum ! j'ai juste pas lu ton commentaire
je m'excuse encore une fois !
c'est pas tout a fait une jointure sql
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <label>auteur</label> <select name='auteur' id='auteur' onchange='go()'> <option value='-1'>Aucun</option> <?php mysql_connect("localhost","root","abbes"); mysql_select_db("test"); $res = mysql_query("SELECT * FROM auteurORDER BY nom"); while($row = mysql_fetch_assoc($res)){ echo "<option value='".$row["id"]."'>".$row["nom"]."</option>"; } ?> </select> <label>livre</label> <div id='livre' style='display:inline'> <select name='vehicule'> <option value='-1'>Choisir un auteur</option> </select> </div>
ajaxLivre1.phpCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 /** * Méthode qui sera appelée sur le click du bouton */ function go(){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // 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){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('livre').innerHTML = leselect; } } // Ici on va voir comment faire du post xhr.open("POST","ajaxLivre1.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 sel = document.getElementById('auteur'); idauteur = sel.options[sel.selectedIndex].value; xhr.send("idAuteur="+idauteur); }
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php echo "<select name='livre'>"; if(isset($_POST["idAuteur"])){ mysql_connect("localhost","root","abbes"); mysql_select_db("test"); $res = mysql_query("SELECT id,titre FROM livre WHERE idAuteur=".$_POST["idAuteur"]." ORDER BY titre"); while($row = mysql_fetch_assoc($res)){ echo "<option value='".$row["id"]."'>".$row["titre"]."</option>"; } } echo "</select>"; ?>
Ce n'ai pas en nous disant "c'est pas tout a fait une jointure sql" et en nous "balançant" tout ton code sans rien dire que l'on va pouvoir t'aider..
y a pas de souci peut etre j'ai du mal a m'exprimer alors ya deux liste déroulante auteur et livre quand je choisi un auteurla fonction go prend l'id de l'auteurCode:echo "<option value='".$row["id"]."'>".$row["nom"]."</option>";
ei il le compare avec idAuteur dans le fichier ajaxlivre1.php si c'est egale il me génère la 2eme liste qui contient tous ces livresCode:sel = document.getElementById('auteur');
maintenant quand je remplis mon formulaire et que j'envoie les donnée a la base dans ma table biblio colonne auteur je trouve son id j'aimerai trouver son nom
Ton problème n'a rien à voir avec les codes que tu nous montres, mais avec le TRAITEMENT du formulaire ! (que tu ne montres pas !)
Et dans la table "table biblio", c'est bien l'id de l'auteur qu'il faut enregistrer !
Ensuite, au moment de ré-afficher les données, faire appel à une JOINTURE pour récupérer son nom !
OUPS ! A moins que ce que je dis ne t'intéresse toujours pas... :roll:
ça marche :)
you are genius thank you man ;)
merciii