Bonjour,
j'ai mit un formulaire de recherche j'ai fait fonctionne l’autocomplétion.Mais j'ai deux soucis le 1er je veux que ça commence a la 1ere lettre.
ici ca fonctionne exemple sur le b mais pas sur le a ou je doit mettre deux lettres.
et deuxième problème j'ai des lignes vides qui sont retourne dans l’autocomplétion.
voici la page liste-pivot.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
23
24
25
26
27
28 <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.9.0/jquery-ui.js"></script> <script> $(function() { $( "#select-category" ).autocomplete({ source:'liste-pivot.php', "response" : function( event, ui ){ var str = $( this ).val().toLowerCase(), n = -1; $( ui.content ).each( function( i, item ){ /* * Pour prendre en compte les majuscules et * les minuscules il faut utiliser * toLowerCase().indexOf(). */ n = item.value.toLowerCase().indexOf( str ); /* * Recherche uniquement dans les trois premiers caratères : 0, 1 et 2. */ if ( n == -1 || n > 0 ){ item.label = item.value = ""; } }); } }); });
Code PHP : 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 <?php // debut session session_start(); //connexion a la bdd try { connexion base// } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $term = $_GET['term']; $requete = $bdd->prepare('SELECT distinct(pivot_local) FROM servicepublic WHERE pivot_local LIKE :term'); // j'effectue ma requête SQL grâce au mot-clé LIKE $requete->execute(array('term' => '%'.$term.'%')); $array = array(); // on créé le tableau while($donnee = $requete->fetch()) // on effectue une boucle pour obtenir les données { array_push($array, $donnee['pivot_local']); // et on ajoute celles-ci à notre tableau } echo json_encode($array); // il n'y a plus qu'à convertir en JSON ?>
j'ai fait un distinct car je voulais que les valeurs de cette colonne qui des fois peut le même nom pour plusieurs enregistrements.
merci pour votre aide.
Partager