Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2493 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  XmlHttpRequest et PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

XmlHttpRequest et PHP

n°1257838
masseur
Posté le 02-12-2005 à 21:55:14  profilanswer
 

Bonjour.
J'ai trouvé un tutorial sur ce site http://www.sutekidane.net/blog/creer-un-mo...est-et-php.html
 
Je veux donc faire de même pour une recherche de nom dans une base de donnée dans un premier temps.
 
Mon fichier index.php est composé comme ceci

Code :
  1. <script type="text/javascript" src="XHRConnection.js"></script>
  2. <script type="text/javascript">
  3. // Déclaration de la fonction de Callback
  4. // + ----------------------------------------------------------------------------------
  5. // + afficherResultats
  6. // + Affiche ou non le conteneur en fonction du résultat de la recherche
  7. // + ----------------------------------------------------------------------------------
  8. function afficherResultats(obj) {
  9.      // Construction des noeuds
  10.      var tabResult = obj.responseXML.getElementsByTagName('resultat');
  11.      document.getElementById('zoneResultats').innerHTML = '';
  12.      if (tabResult.length > 0) {
  13.           // On définit la hauteur de la liste en fonction du nombre de rsultats et de la hauteur de ligne
  14.           var hauteur = tabResult.length * 22;
  15.           with(document.getElementById('zoneResultats').style) {
  16.                visibility = 'visible';
  17.                height = hauteur + 'px';
  18.           };
  19.           for (var i = 0; i < tabResult.length; i++) {
  20.                resultat = tabResult.item(i);
  21.                var egt = document.createElement('li');
  22.                var lnk = document.createElement('a');
  23.                var texte = document.createTextNode(resultat.getAttribute('titre'));
  24.                lnk.appendChild(texte);
  25.                lnk.setAttribute('href', resultat.getAttribute('url'));
  26.                lnk.setAttribute('title', resultat.getAttribute('titre'));
  27.                egt.appendChild(lnk);
  28.                document.getElementById('zoneResultats').appendChild(egt);
  29.           }
  30.      }
  31.      else {
  32.           document.getElementById('zoneResultats').style.visibility = 'hidden';
  33.      }
  34. }
  35. // Déclaration de la fonction qui lance la recherche
  36. function loadData() {
  37.      // Création de l'objet
  38.      var XHR = new XHRConnection();
  39.      XHR.appendData("recherche1", document.getElementById('recherche1').value);
  40.      // On soumet la requête
  41.      // Signification des paramètres:               
  42.      //      + On indique à l'objet qu'il faut appeler le fichier search.php
  43.      //      + On utilise la méthode POST, adaptée l'envoi d'information
  44.      //      + On indique quelle fonction appeler lorsque l'opération a été effectuée
  45.      XHR.sendAndLoad("index1.php", "POST", afficherResultats);
  46. }
  47.      </script>
  48. <form id="formulaire" action="index1.php" method="post">
  49.      <fieldset>
  50.      <p>
  51.           <label for="recherche1">Saisissez les chaines à rechercher dans le champ de formulaire ci-desous :</label>
  52.           <input type="text" name="recherche1" id="recherche1" value="" onkeyup="loadData();" />
  53.      </p>
  54.      <ul id="zoneResultats" style="visibility: hidden;"></ul>
  55.      <p>
  56.           Texte à placer pour tester que les réponses s'affichent par dessus... Lorem ipsum ...
  57.      </p>
  58.      </fieldset>
  59. </form>


 
et ma page de traitement est composé comme ceci index1.php
 

Code :
  1. <html>
  2. <body>
  3. <?php
  4. // Déclaration des paramètres de connexion
  5. $host = "localhost"; 
  6. // Généralement la machine est localhost
  7. // c'est-a-dire la machine sur laquelle le script est hébergé
  8. $user = "root";
  9. $bdd = "mysql";
  10. $passwd  = "";
  11. // Connexion au serveur
  12. mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur" );
  13. mysql_select_db($bdd) or die("erreur de connexion a la base de donnees" );
  14. // Creation et envoi de la requete
  15. $recherche = $_POST['recherche1'];
  16. $query = "SELECT * FROM `nom` WHERE `nom` LIKE '%$recherche%'";
  17. $result = mysql_query($query);
  18. // Recuperation des resultats
  19. while($row = mysql_fetch_row($result)){
  20. echo "$row[0]";
  21. }
  22. // Deconnexion de la base de donnees
  23. mysql_close();
  24. ?>
  25. </body>
  26. </html>


 
J'aimerai faire pour que dès que je tape une lettre du prénom la suite s'affiche comme sur le site cité plus haut.
 
1) que me manque t'il à faire ?
 
2) mettre le code javascript dans index.php est ce le bon endroit?
 
3) A la méthode sendAndLoad faut bien que je lui passe index1.php?
 
Quand je tape un j dans mon champ recherche par exemple et que j'appuie sur entrée ca m'affiche bien jerome, c'est deja un bon début mais on ne le voit pas s'afficher dans une boite par dessus
 
Merci d'avance

mood
Publicité
Posté le 02-12-2005 à 21:55:14  profilanswer
 

n°1257864
Ricco
Retour au pays
Posté le 02-12-2005 à 22:36:53  profilanswer
 

Vois avec http://www.w3.org/TR/REC-html40/interact/scripts.html, essaye pê de changer le onkeyup par onkeydown, onkeypress ou onchange.
 
Tu peux aussi essaye les demos sur http://script.aculo.us/, ça pourrait t'interresser.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1257922
masseur
Posté le 03-12-2005 à 00:53:33  profilanswer
 

Merci je vais voir ce que je peux faire avec.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  XmlHttpRequest et PHP

 

Sujets relatifs
[PHP] fonction mkdirpeut-on mettre un "onclick=...." dans PHP ?
formulaires en PHP =>> Help plizzzzXSLT PHP et Do;document
[PHP] Empecher l'accès direct à un sous répertoire d'un site[HELP] Flux RSS généré par PHP !
Stage / CDD Paris Dev Web PHPGalerie PHP?HTML?
[RESOLU] Transmission de variable entre deux pages PHP ?[PHP] Lister le contenu d'un repertoire en faisant des liens[resolu]
Plus de sujets relatifs à : XmlHttpRequest et PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR