答えが見つかることを願っています。
レコードのリストといくつかの検索フィールドがある PHP で Web アプリを作成します。検索フィールドの 1 つに「顧客番号」があります。顧客番号はローカル データベース (MySQL) に保存されます。顧客番号を検索すると、それに応じたデータベースの結果行 => ロジックが得られます。
ここで、jQuery UI Autocomplete を使用して、この検索フィールドの拡張機能を構築したいと考えています。
私がしたいこと:
ユーザーが検索フィールド「customernumber」でcustomerNAMEを検索できるようにしたいのですが、オートコンプリートは正しい顧客番号を値に与えます。
顧客名は、顧客番号とともに外部の ODBC データベースに保存されます。
私がすでに行ったこと:
外部の ODBC データベースからすべての名前と番号を取得しようとしましたが、次のようなリストが得られました。
customername: somename1
customernumber: number1
customername: somename2
customernumber: number2
customername: somename3
customernumber: number3
... and so on
このリストでも ajax 呼び出しでオートコンプリートを行うと、まったく機能しません。
誰かが私を助けてくれますか!? 何度も検索した後、インターネット上またはそれに近いもので答えを見つけることができませんでした.
私は本当に素晴らしいでしょう!ありがとう!
私がこれまでに得たものの私の例:
jQuery スクリプト:
<script
$(function() {
function log( message ) {
$( "<div/>" ).text( message ).prependTo( "#log" );
$( "#log" ).scrollTop( 0 );
}
$( "#customer" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "customers.php",
dataType: "json",
success: function( data ) {
response( function( item ) {
return {
label: item.customername,
value: item.customernumber
}
});
}
});
},
minLength: 3,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.label :
"Nothing selected, input was " + this.value);
}
});
});
</script>
入力 HTML:
<div class="ui-widget">
<label for="customer">Search</label>
<input id="customer" />
</div>
customers.php の SQL クエリ
$connection = odbc_connect('host', 'username', 'password')
or die('Connection failed!');
$sql = "SELECT 'customername', 'customernumber' FROM 'database.table'";
$results = odbc_exec($connection, $sql);
while($myRow = odbc_fetch_array($results)){
$rows[] = $myRow;
};
foreach($rows as $row) {
foreach($row as $key => $value) {
echo $key . ': '. $value . '<br/>';
}
};
明確にするために
検索ボックスに customerNAME と入力し、customerNUMBER を値として取得したいと考えています。