Bonjour à tous.
J'utilise autocomplete (la version standart, pas un mod) et ça marche plutôt bien. J'ai juste un soucis :
Lorsque je tape le nombre de lettres nécessaires pour l'exécution du script (minChars), des résultats s'affichent, mais sans êtres filtrés :

Ensuite c'est bon :

J'ai pas mal cherché et testé les différents paramètres, mais c'est toujours pareil.
Je suppose qu'à la première étape, les données sont juste rapatriées et affichées par ordre alphabétique, et que le filtrage ne se fait qu'aux saisies suivantes, mais du coup comment modifier ça (j'suis pas encore très fort en js, moi,
)?
Voici mon code, si quelqu'un a une idée :
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
|
//JAVASCRIPT.
$(document).ready(function(){
$("#chPat").autocomplete("affliste.php", {
minChars: 1,
matchSubset: true,
matchContains: true
});
});
//HTML.
<div id="icones">
<label for="chPat" id="labchPat">Rechercher un patient :</label>
<input type="text" id="chPat" name="chPat"/>
</div>
//AFFLISTE.PHP
$req = "select id, concat(right(concat('000', id), 3), ' - ', ucase(nom), ' ', ucase(prenom)) as identite from patients order by nom, prenom";
$query = $db->query($req);
if($db->error){
echo "ERROR: There was a problem with the query.\n\n$req\n\n".$db->error;
}
else {
while ($result = $query ->fetch_object()){
echo $result->identite."|".$result->id."\n";
}
} |
Merci par avance...
PS : une petite question subsidiaire qui n'a rien à voir (ni à faire dans ce forum
).
Vous savez pourquoi ma requête SQL ci-dessus fonctionne, alors que si je fais ça, le ucase ne s'appliqe pas? Bizarre, non?
select id, ucase(concat(right(concat('000', id), 3), ' - ', nom, ' ', prenom)) as identite from patients order by nom, prenom
Partager