私はしばらくの間グーグルでSOを調べましたが、これを理解できないようです。Imが満たそうとしている唯一の要件は、sqlステートメントの結果を含む適切にフォーマットされたjavascript配列を返すことです。
IE
与えられたクエリ:
SELECT NUMBERS FROM TABLE
そして結果:
NUMBERS
1
2
3
最終的にはそのような配列を取り戻したいと思います
["1","2","3"]
私がどこで間違っているのか理解するのを手伝ってください
これが私のphpコードです
<?php
$mysqli = new mysqli("local.host.com", "user", "pass", "db");
$sql = "SELECT DISTINCT NAME FROM table";
$result = $mysqli->query($sql);
while($row = $result->fetch_array())
{
$rows[] = $row['NAME'];
}
echo(json_encode($rows));
$result->close();
/* close connection */
$mysqli->close();
?>
これが私のJavaScriptです:
function GetCards()
{
var cardarray = new Array();
//alert('test');
$.getJSON('getcardlist.php', function(data)
{
for(var i=0;i<data.length;i++)
{
cardarray.push(data[i]);
}
//return cardarray;
});
return cardarray;
}
編集:
もう少し情報があります。jqueryuiのオートコンプリートリストを設定しようとしています。これは、オートコンプリートウィジェットの設定です。
var list = GetCards();
$( "#name" ).autocomplete({
source: list,
minLength: 2
そしてこれは私がクロームコンソールから得ているエラーです
Uncaught TypeError: Cannot read property 'label' of null