私は完全に動作するJQuery UIオートコンプリートを使用したスクリプトを用意しています。ユーザーのfirsnameとlastnameを表示する検索プロセスがあります。しかし私のdatabseでは、ユーザーの写真もあり、私はfristnameとlastnameの提案にそれを表示したい。イメージをJQueryで表示するuiオートコンプリート
(データベースに、PICは画像のURLを含む)
スクリプト:
$(function() {
$("#search").autocomplete({
source: "autocomplete.php",
minLength: 1,
select: function(event, ui) {
var url = ui.item.id;
if(url != '') {
location.href = '...' + url;
}
},
html: true,
open: function(event, ui) {
$(".ui-autocomplete").css("z-index", 1000); \t \t \t
}
}); \t
});
autocomplete.php
<?php
if (!isset($_REQUEST['term'])) {
\t exit;
}
$mysqli = new MySQLi($DB_host,$DB_login,$DB_pass,$DB_select);
$term = trim(strip_tags($_GET['term']));
$term = preg_replace('/\s+/', ' ', $term);
$a_json = array();
$a_json_row = array();
$a_json_invalid = array(array("id" => "#", "value" => $term, "label" => "Only letters and digits are permitted..."));
$json_invalid = json_encode($a_json_invalid);
if(preg_match("/[^\040\pL\pN_-]/u", $term)) {
print $json_invalid;
exit;
}
if ($data = $mysqli->query("SELECT * FROM users WHERE firstname LIKE '%$term%' OR lastname LIKE '%$term%' ORDER BY firstname , lastname")) {
\t while($row = mysqli_fetch_array($data)) {
\t \t $firstname = htmlentities(stripslashes($row['firstname']));
\t \t $lastname = htmlentities(stripslashes($row['lastname']));
\t \t $id= htmlentities(stripslashes($row['id']));
\t \t $pic= htmlentities(stripslashes($row['pic']));
\t \t $a_json_row["id"] = $id;
\t \t $a_json_row["value"] = $firstname.' '.$lastname;
\t \t $a_json_row["label"] = $firstname.' '.$lastname;
\t \t array_push($a_json, $a_json_row);
\t }
}
/* jQuery wants JSON data */
echo json_encode($a_json);
flush();
?>
助けてください。
あなたの答えをありがとう、私は、データベースから写真を撮りたいです。各ユーザは異なるプロフィール画像を有する。だから私は、プロファイルの写真を表示し、次に名字と姓を表示することを提案したい。 – Dilak
私の例では、autocompleteによって要求されたjsonからの 'img'ソース情報を取得します。だからあなたのデータベースから。 –
こういうことをするべきですか?$ a_json_row ["img"] = $ pic; autocomplete.phpで? – Dilak