amel001 |
j'ai fait ce code d'aprés ce lien http://siddh.developpez.com/articles/ajax/#LIV-A
de deux liste il ne marche pas:
Code :
- CREATE TABLE `auteur` (
- `id` tinyint(4) NOT NULL auto_increment,
- `nom` varchar(50) NOT NULL,
- PRIMARY KEY (`id`)
- );
- insert into `auteur` values
- (1,'Clive Cussler'),
- (2,'Harlan Coben'),
- (3,'Franck Herbert'),
- (4,'Pierre Bordages');
- CREATE TABLE `livre` (
- `id` tinyint(4) NOT NULL auto_increment,
- `titre` varchar(50) NOT NULL,
- `idAuteur` tinyint(4) default NULL,
- PRIMARY KEY (`id`)
- ) ;
- insert into `livre` values
- (1,'Odyssee',1),
- (2,'Sahara',1),
- (3,'Dragon',1),
- (4,'Une chance de trop',2),
- (5,'Ne le dis a personne',2),
- (6,'Disparu à jamais',2),
- (7,'Dune',3),
- (8,'La barriere de santaroga',3),
- (9,'Les guerriers du silence',4),
- (10,'La citadelle hyponeros',4),
- (11,'Terra mater',4);
|
le fichier auteur.php
Code :
- <html>
- <head>
- <title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
- <script type='text/javascript'>
- function getXhr(){
- var xhr = null;
- if(window.XMLHttpRequest) // Firefox et autres
- xhr = new XMLHttpRequest();
- else if(window.ActiveXObject){ // Internet Explorer
- try {
- xhr = new ActiveXObject("Msxml2.XMLHTTP" );
- } catch (e) {
- xhr = new ActiveXObject("Microsoft.XMLHTTP" );
- }
- }
- else { // XMLHttpRequest non supporté par le navigateur
- alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
- xhr = false;
- }
- return xhr;
- }
- /**
- * 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","ajaxLivre.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);
- }
- </script>
- </head>
- <body>
- <form>
- <fieldset style="width: 500px">
- <legend>Liste liées</legend>
- <label>Auteurs</label>
- <select name='auteur' id='auteur' onchange='go()'>
- <option value='-1'>Aucun</option>
- <?
- mysql_connect("localhost","root","root" );
- mysql_select_db("test" );
- $res = mysql_query("SELECT * FROM auteur ORDER BY nom" );
- while($row = mysql_fetch_assoc($res)){
- echo "<option value='".$row["id"]."'>".$row["nom"]."</option>";
- }
- ?>
- </select>
- <label>Livres</label>
- <div id='livre' style='display:inline'>
- <select name='livre'>
- <option value='-1'>Choisir un auteur</option>
- </select>
- </div>
- </fieldset>
- </form>
- </body>
- </html>
|
le fichier Ajaxlivre
Code :
- <?php
- echo "<select name='livre'>";
- if(isset($_POST["idAuteur"])){
- mysql_connect("localhost","root","root" );
- 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>";
- ?>
|
ou est le probleme ici
|