par
yann18 » 08 nov. 2014, 15:21
l'attribut source de la fonction
autocomplete doit pointer vers un script php générant du json.ce script php reçoit en paramètre($_get) les termes saisis dans l'input du form, puis va effectuer une requête sql qui sélectionne tous les pseudos commençant par les termes de l'autocompletion.A partir du résultat de la requête tu dois pouvoir fabriquer une chaîne encodée en json.
Il est nécessaire de séparer tes fichiers en 2: un fichier qui contient le script js et un fichier php qui fait du traitement :
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
</head>
<div id="corps" style="color:black;">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
<script>
$(function() {
$( "#autocomplete" ).autocomplete({
source: "recherche-pseudo.php",
minLength: 2
});
});
</script>
<h2 class="demoHeaders">Recherche</h2>
<div>
<input id="autocomplete" title="recherche autocomplétion">
</div>
le fichier
recherche-pseudo.php
<?php
$term = $_GET[ "term" ];//les 2 premiers caractères saisis dans l'input du form
//connexion à la bp avec PDO
//extraire tous les pseudos commençant par les caractères $_GET[ "term" ]
$getPseudoQuery = $bdd->query("SELECT pseudo FROM `membres` WHERE pseudo LIKE '$term%'");
$tblPseudos = array();
while($row=$getPseudoQuery ->fetch() ){
//la clé value correspond à la valeur qui peuplera l'input du form et la clé label correspond à la valeur affichée dans la liste des suggestions
$tblPseudos[] = array( "label"=> $row['pseudo'], "value"=>$row['pseudo'] );
}
//on souhaite obtenir du json selon le modèle suivant: [{"label":"toto","value":"toto"}, {"label":"tata","value":"tata"}]
echo json_encode($tblPseudos);
l'attribut source de la fonction [b]autocomplete[/b] doit pointer vers un script php générant du json.ce script php reçoit en paramètre($_get) les termes saisis dans l'input du form, puis va effectuer une requête sql qui sélectionne tous les pseudos commençant par les termes de l'autocompletion.A partir du résultat de la requête tu dois pouvoir fabriquer une chaîne encodée en json.
Il est nécessaire de séparer tes fichiers en 2: un fichier qui contient le script js et un fichier php qui fait du traitement :
[html]
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
</head>
<div id="corps" style="color:black;">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script>
<script>
$(function() {
$( "#autocomplete" ).autocomplete({
source: "recherche-pseudo.php",
minLength: 2
});
});
</script>
<h2 class="demoHeaders">Recherche</h2>
<div>
<input id="autocomplete" title="recherche autocomplétion">
</div>
[/html]
le fichier [b]recherche-pseudo.php[/b]
[php]
<?php
$term = $_GET[ "term" ];//les 2 premiers caractères saisis dans l'input du form
//connexion à la bp avec PDO
//extraire tous les pseudos commençant par les caractères $_GET[ "term" ]
$getPseudoQuery = $bdd->query("SELECT pseudo FROM `membres` WHERE pseudo LIKE '$term%'");
$tblPseudos = array();
while($row=$getPseudoQuery ->fetch() ){
//la clé value correspond à la valeur qui peuplera l'input du form et la clé label correspond à la valeur affichée dans la liste des suggestions
$tblPseudos[] = array( "label"=> $row['pseudo'], "value"=>$row['pseudo'] );
}
//on souhaite obtenir du json selon le modèle suivant: [{"label":"toto","value":"toto"}, {"label":"tata","value":"tata"}]
echo json_encode($tblPseudos);
[/php]