Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2011, 09h45   #1
Nouveau Membre du Club
 
Avatar de caro71ol
 
caroline
Étudiant
Inscription : janvier 2011
Messages : 140
Détails du profil
Informations personnelles :
Nom : caroline
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 140
Points : 28
Points : 28
Par défaut recherche phonétique avec liste deroulante

Bonjour,

J'ai une liste deroulante, remplie avec une base de données mysql, et une textbox pour faire une recherche dans cette liste. Sauf que la recherche s'effectue correctement pour le premier mot mais pour le deuxieme il n'affiche plus rien. (c'est une recherche en dynamique, au fur et à mesure que je tape une lettre, la liste se modifie automatiquement)(je ne sais pas si c'est tres comprehensible)
Est-ce que cela est dû au fait qu'il y a des colonnes de la tables dans la liste ou autre?
Je voulais savoir s'il etait possible d'adapter la recherche en recherche phonétique?

code :

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<html>
	<head>
		<title>liste client</title>
		<script type='text/javascript'>   
   function SearchList(htmlselect,htmltext,caseSensitive){ 		
        this.select=htmlselect; 
        this.text=htmltext; 		
        this.allOptions=new Array(); 
        for(i=0;i<this.select.options.length;i++){ 
            this.allOptions[i]=this.select.options[i]; 
        } 
        this.caseSensitive=false; 
        if(caseSensitive) 
            this.caseSensitive=true;         
    }   
    /* **********************
    *    Vide le contenu de la liste 
    *****************************/     
    SearchList.prototype.viderListe=function(){ 
        var length=this.select.options.length; 
        for(i=length-1;i>=0;i--){ 
            this.select.options[i]=null; 
        } 
    }      
    /* *********************************************
    *    Restore le contenu de la liste avec les valeurs initiales 
    ******************************************************/ 
    SearchList.prototype.restoreListe=function(){ 
        for(i=0;i<this.select.options.length;i++){ 
            this.select.options[i]=null; 
        } 
        for(i=0;i<this.allOptions.length;i++){ 
            this.select.options[i]=this.allOptions[i]; 
        }          
    }   
    /* **************************************
    *    Met à jour le contenu de la liste en fonction 
    *    du texte saisi dans le champ 
    ******************************************/ 
    SearchList.prototype.MAJList=function(){ 
        var search=this.text.value; 
        if(search=="" || search.length < 1){ 
            this.restoreListe(); 
            return; 
        } 
        else{ 
            this.viderListe(); 
            for(i=0;i<this.allOptions.length;i++){ 
                if(!this.caseSensitive){ 
                    if(this.allOptions[i].text.toUpperCase().indexOf(search.toUpperCase())==0) 
                        this.select.options[this.select.options.length]=this.allOptions[i]; 
                } 
                else{ 
                    if(this.allOptions[i].text.indexOf(search)==0) 
                        this.select.options[this.select.options.length]=this.allOptions[i]; 
                } 
            } 
        }          
    }	
			</script>
	</head>
	<body>
		<form>
				<center>
			<fieldset style="width: 350px" style="height:600px"style="font-size:26">
				<legend>liste client</legend><br>
				<label> Nom, Prénom :</label><br> 
<SELECT id ='client' size="20" style="font-size:18" style="width: 300px">
	<option value='-1'>Aucun</option>
				<?php
						mysql_connect("localhost","root","") 
						or die("Mysql connect error");
						mysql_select_db("reservation");
						$res = mysql_query("SELECT numero_client, nom_client, prenom_client FROM client")
							or die ('Erreur sql!'.$res.'<br/>'.mysql_error());
 
						while($row = mysql_fetch_assoc($res)) {
						echo "<option value='".$row["numero_client"]."'>".$row["nom_client"]." &nbsp ".$row["prenom_client"]."</option>";
						}
					?>
</SELECT>
<br><br><label>Recherche : </label> &nbsp
<INPUT id = 'recherche' TYPE='text' NAME='recherche1' SIZE=30 MAXLENGTH=50 onKeyUp='ListeClient.MAJList();'>
 <?php
echo "<script>var ListeClient = new SearchList(document.getElementById('client'), document.getElementById('recherche'),false );</script>\n";
?>
							</fieldset>	
		</form>
	</body>
</html>
caro71ol est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h35.


 
 
 
 
Partenaires

Hébergement Web