具有2个参数的数组,用于自动完成jquery

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.

I found the solution i was looking for. I am sorry, i should try harder before posting.

Here is my solution :

try
{
    $bdd = new PDO('mysql:host=localhost;dbname=SuiviCollectesLPR;charset=utf8', 'root', '');
    array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
    die('Erreur: ' . $e->getMessage());
}

$term = $_GET['term'];

$requete = $bdd->prepare('SELECT * 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.'%'));

while ($donnee = $requete->fetch(PDO::FETCH_ASSOC)) {
$return_arr[] = array(
    'label'=>$donnee['ville_nom'],
    'dpt'=>$donnee['ville_departement']);
}
//array_push($return_arr,$row_array);

echo json_encode($return_arr); //Conversion en Json

JS :

<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.dpt); // display the selected text
    }
});

Thank you anyway.