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.


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 = "";
    		}
    	});
			    }
        });
    });
voici la page liste-pivot.php:
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.