1
私は、データベースからの名前の提案を提供するためにjQueryオートコンプリートプラグインを使用しています。私がしようとしているのは、選択された人の情報を表示することです。誰かがどのようにしてどこに行き、選択された人のID(プライマリキー)を取得するか、私にアイデアを与えることができますか?一度選択した人の情報を表示するオートコンプリートjquery
JS
$('input[name="name"]').autoComplete({
minChars: 1,
source: function(term, response){
$.getJSON('names.php', { name: term }, function(data){
var arr = $.map(data, function(el) { return el });
response(arr);
});
},
onSelect: function(){
//get id -> show info
}
});
Names.phpに
require 'con.php';
$term = $_GET['name'];
$arr = array();
$query = mysqli_query($connection,
"SELECT
id,
firstname,
middlename,
lastname
FROM mytbl
WHERE firstname LIKE '%$term%' ||
middlename LIKE '%term%' ||
lastname LIKE '%term%'");
while($row = mysqli_fetch_array($query)){
$arr[] = $row['firstname'] . " " . $row['middlename'] . " " . $row['lastname'];
}
echo json_encode($arr);
ありがとうございます!
名前を返すのであれば、その中に 'data'値で返すことができます。 '' '。$ row [' firstname ']。 "" $ row ['middlename']。 "" $ row ['lastname']。 "" $ row ['extension_name']。 ' ''.data(' userid ')' – Rasclatt
を使ってそれを奪います。また、あなたのmysqli_は簡単に注射することができます。準備された値/パラメータを使用する必要があります – Rasclatt
@Rasclatt私はそれを正しくやっているのか分かりません。 タグが提案に表示されていました。そしてselectでは '
今
コードの上、このようなjQueryのコードを見て何かは、名前とIDで多次元配列を返します。 jQueryオートコンプリートでは、返された配列のキーとしてラベルや値が期待され、ドロップダウンで表示されます。
任意の項目を選択すると、選択した項目のIDにアクセスするために
ui.item.id
を使用するだけで済みます。出典
2016-06-12 05:46:38