Bonjour, tout d'abord merci de bien vouloir m'aider, je patauge depuis des heures sans avancer.
J'utilise jquery pour manipuler l'ajax, voici mon code:
Page où j'ai fait ma liste:
page du code ajax envoyant le nom du logiciel à une page php: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 <?php include("include/connexion.php"); echo '<div id="listeLog"><form><select name="logiciels" id="listLog" size="20" onChange="mettreAjour()">'; mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur $host"); mysql_select_db("siteperso") or die("erreur de connexion a la base de donnees"); $query = "SELECT nom FROM logiciel"; $result = mysql_query($query); while($row = mysql_fetch_row($result)){ echo '<option>'.$row[0]; } if (isset($_POST['nomLog'])) { $query = "SELECT chemin, domaine, comm FROM logiciel where nom like".$_POST['nomLog']; $result = mysql_query($query); while($row = mysql_fetch_row($result)){ $chemin=$row[0]; $domaine=$row[1]; $comment=$row[2]; } }; echo '</select></form></div> <div id="type"></div> <div id="description"></div> <div id="lien"></div>'; ?>
page php récupérant les données du logiciel que je veux afficher, renvoi du xml (normalement):Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 // Partie AJAX du site web : function mettreAjour(){ nom = document.getElementById("listLog").value; //alert(nom); //chaine = "nomLog="+nom; //alert(chaine); $.ajax({ type: "POST", url: "include/infolog.php", data: "nomLog="+nom, dataType: "xml", success: function(xml) { $(xml).find('infos').each(function() { document.getElementById("type").innerHTML =$(this).find('domaine').text(); document.getElementById("description").innerHTML =$(this).find('commentaire').text(); document.getElementById("lien").innerHTML =$(this).find('lien').text(); }); }, error: function(){alert("marche pas");} }); }
Alors mon problème est le suivant, je suis renvoyé à l'évènement erreur si je mets datatype: "xml", si je ne le met pas il se passe rien et quand je test la valeur $(this).find('domaine').text() avec un alert, la valeur est vide.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?php include("include/connexion.php"); mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur $host"); mysql_select_db("siteperso") or die("erreur de connexion a la base de donnees"); $query = "SELECT chemin, domaine, comm FROM logiciel where nom like".$_POST[['nomLog']; $result = mysql_query($query); echo ' <?xml version="1.0" encoding="utf-8"?> <root>'; while($row = mysql_fetch_row($result)){ echo ' <infos> <domaine>'.$row[1].'</domaine> <commentaire>'.$row[2].'</commentaire> <lien><a href="'.$row[0].'">Télécharger</a></lien> </infos>'; } echo '</root>'; mysql_close(); ?>
Je pense que j'ai un problème avec la réponse en xml mais je vois pas du tout comment résoudre le problème car je suis un néophyte dans ce domaine :pc: .
Merci de votre aide !