IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Ajax recherche par auto-complétion


Sujet :

AJAX

  1. #1
    Membre actif
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 253
    Points
    253
    Par défaut [AJAX] Ajax recherche par auto-complétion
    Bonjour,

    Je réalise un exercice d'entrainement avec l'ajax en utilisant le php et une base de donnée mysql mais la recherche ne fonctionne pas , je ne comprends pas d'où peut venir le problème.

    Pourtant le code php fonctionne sans l'ajax il affiche bien ce que je veux.

    voici mes codes :

    Html + ajax

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     
    	<title>untitled</title>
    	<script type="text/javascript">
    	function initsearch(str){
     
    		var xmlhttp;
    		if(str.length==0){
    			document.getElementById("champ").innerHTML="";
    			return;
    		}
    		if(window.XMLHttpRequest){
    			xmlhttp=new XMLHttpRequest();
    		}
    		else {
    			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    		}
    		xmlhttp.onreadystatechange=function(){
    			if(xmlhttp.readystate==4 && xmlhttp.status==200){
    				document.getElementById("ttt").innerHTML=xmlhttp.ResponseText;
    			}
    		}
    		xmlhttp.open("GET","getsearch.php?q="+str,true);
    		xmlhttp.send();
    	}
    	</script>
    </head>
     
    <body>
     
    <labal>entrer un numéro de client</label><input type="text" id="champ" size="15px" onkeyup="initsearch("this.value");"/>
    <div id="ttt">
     
    </div>	
     
    </body>
    </html>
    Php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    $q=$_GET["q"];
     
    $con=mysql_connect("localhost","root","root");
    if(!$con){
            die('impossible de se connecter'.mysql_error());
    }
    mysql_select_db("qs",$con);
     
    if(strlen($q)>0){
            
            $result=mysql_query("select NOM from CLIENT where NCLI like '.$q.%' ");
            $deb="<select multiple>";
            while($row=mysql_fetch_array($result)){
                    $deb=$deb."<option>".$row['NOM']."</option>";
            }
            $fin=$deb."</select>";
    }
    echo $fin;
     
    mysql_close($con);
    ?>
    Merci pour une aide parce que je bloque depuis un moment...

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onkeyup="initsearch("this.value");"


    Tout d'abord, lorsqu'une chaine commence par ", elle se termine au " suivant trouvé, donc dans ton cas, l'attribut onkeyup est mal formé (comme le montre la coloration syntaxique).

    D'autre part, tu ne cherches pas à passer la valeur littérale "this.value" mais la valeur du champ, ce n'est donc pas une chaine mais une expression qu'il faut mettre en argument !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onkeyup="initsearch(this.value);"
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. [script.aculo.us] Ajax.Autocompleter: visualisation du résultat de l’auto-complétion
    Par iday75 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 05/08/2011, 10h04
  2. [AJAX] Auto complétion d'un textearea
    Par tibo894 dans le forum AJAX
    Réponses: 6
    Dernier message: 14/05/2009, 13h36
  3. [PHP-JS] Auto-complétion [Ajax,PHP & MySQL]
    Par xdiethank dans le forum Langage
    Réponses: 4
    Dernier message: 21/07/2006, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo