jquery-ui-autocomplete を使用して mysql DB から 1 つのフィールドを正常に取得していますが、リストからユーザーの選択を取得し、DB から再選択して、通常は DB から取得したアドレスを複数のフォームに入力する必要があります.
ここに私がこれまで取り組んできたコードがありますが、必要な結果を得るために続行する方法がわかりません。シナリオは次のとおりです。DB から取得した郵便番号を入力する INPUT フィールドがあります。次に、ユーザーは郵便番号を選択します。その選択から、DB からすべての住所を取得して個々のフォームに入力する必要があります。
私のHTMLファイル:
$(document).ready(function() {
$("#autocomplete").autocomplete({
autoFocus: true,
source: "search.php",
minLength: 2, //search after two characters
select: function(event, ui){
//do something
}
});
});
<body>
<input id="autocomplete" type="text" name="autocomplete" />
</body>
私のsearch.phpファイル:
// DB connection is done here
$term = trim(strip_tags($_GET['term']));//retrieve the search term that autocomplete sends
$qstring = "SELECT DISTINCT zipcode FROM table WHERE zipcode LIKE '%".$term."%' ORDER BY zipcode ASC";
$result = mysql_query($qstring); //query the database for entries containing the term
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) //loop through the retrieved values
{
$row['zipcode'] = htmlentities(stripslashes($row['zipcode']));
$row['id'] = (int)$row['id'];
$row_set[] = $row['zipcode']; //build an array
}
echo json_encode($row_set); //format the array into json data
もちろん、複数の同じ郵便番号を排除するために、クエリで DISTINCT を使用しています。
ご協力ありがとうございました!ロバート