Here is my code :
<script type="text/javascript">
$("#rechercheVilleChargement").autocomplete({
source : 'http://localhost:8080/SuiviCollectes/MODEL/autocomplete.php',
select: function (event, ui) {
$("#rechercheVilleChargement").val(ui.item.label); // display the selected text
$("#rechercheVilleChargementDPT").val(ui.item.value);
}
});
The source code :
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=x;charset=utf8', 'x', 'x');
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die('Erreur: ' . $e->getMessage());
}
$term = $_GET['term'];
$requete = $bdd->prepare('SELECT ville_nom, ville_departement FROM villes WHERE ville_nom LIKE :term ORDER BY ville_population_2012 DESC LIMIT 15'); // j'effectue ma requête SQL grâce au mot-clé LIKE
$requete->execute(array('term' => '%'.$term.'%'));
$array = array(); // Création du tableau
/* styles PDOStatement::fetch */
while($donnee = $requete->fetch())
{
array_push($array, $donnee['ville_nom'] . ' (' . $donnee['ville_departement'] . ')'); // Ajout de la donnée au tableau
}
echo json_encode($result); //Conversion en Json
My question is , how can i get 2 values from php? I tried to do :
$result = $requete->fetchall(PDO::FETCH_ASSOC);
echo json_encode($result); //Conversion en Json
But when i'm trying something like :
$("#rechercheVilleChargement").val(ui.item.ville_nom); // display the selected text
$("#rechercheVilleChargementDPT").val(ui.item.ville_departement);
The autocomplete list is empty.
I would like $("#rechercheVilleChargement").val(ui.item.label)
to be a value of one sql column and $("#rechercheVilleChargementCP").val(ui.item.value)
to be another one in order to put the value in the input with id : rechercheVilleChargementCP
.
2nd question :
Can I create something like
$("#rechercheVilleChargement").val(ui.item.cityname)
?
Or ui.item
are not alterable?
Just a precision, the first code I put is working well, but I get only one value to put in the input affected by autocompletion
.
Thank you very much for your help.