这是我的代码:
<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);
}
});
源代码:
<?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
我的问题是,如何从php中获取2个值?我试着这样做:
$result = $requete->fetchall(PDO::FETCH_ASSOC);
echo json_encode($result); //Conversion en Json
但是当我尝试这样的事情时:
$("#rechercheVilleChargement").val(ui.item.ville_nom); // display the selected text
$("#rechercheVilleChargementDPT").val(ui.item.ville_departement);
自动填充列表为空。
我希望$("#rechercheVilleChargement").val(ui.item.label)
为一个sql列的值,$("#rechercheVilleChargementCP").val(ui.item.value)
为另一个,以便将值放入输入中,其ID为rechercheVilleChargementCP
。
第二个问题:
我能创造类似的东西吗?
$("#rechercheVilleChargement").val(ui.item.cityname)
?
或ui.item
不可更改?
只是一个精度,我放的第一个代码运行良好,但我只得到一个值放在受autocompletion
影响的输入中。
非常感谢你的帮助。
答案 0 :(得分:0)
我找到了我正在寻找的解决方案。对不起,我应该在发帖前努力。
这是我的解决方案:
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
}
});
无论如何,谢谢你。