0

この Jquery UI は本当に私が必要としているものです: http://jqueryui.com/demos/autocomplete/#multiple-remoteですが、そのソース コードを調べた後、この行の search.php が何をしているのか疑問に思っていました。

source: function( request, response ) {
$.getJSON( "search.php", {
term: extractLast( request.term )
}, response );
},

その search.php に関するドキュメントはありません。search.php でこのような MySQL SELECT を使用するだけでは不十分だと思います。jQuery UI は JSON 形式で読み込んでいると思うからです。次のような単純なMySQLの結果ではありません:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM SomeTable");

while($row = mysql_fetch_array($result))
  {
    *** I don't know what to do about this data, I think it should be converted 
    *** into JSON format. but how?
  }

mysql_close($con);
?>

jQuery UI からのこのオートコンプリートのもう 1 つの問題は、ユーザーがオートコンプリートの結果を編集してサーバーに送信できることです。たとえば、デモ ページで「ca」と入力して「Cattle Egret」を選択するとします。その結果をこの 'Catle Eret' のように編集できます。

ユーザーが編集できないが削除できるようにjQuery UIの結果を「ロック」する方法は? ありがとう。

4

1 に答える 1

0

もちろん、search.php に関する情報はありません。これは、検索方法に依存するためです。ただし、SQL SELECT のようなステートメントを含める必要があります。

次のように、クエリのいくつかの列を簡単に出力できます。

$data = array();
while($row = mysql_fetch_array($result)) {
    $data[] = row['interesting_column'] ;
    // you can of course output multiple comlumns if you're interested in them
}

echo json_encode($data);
flush();

これにより、db からの列を含む JSON 配列が返されます。

于 2012-10-05T08:27:31.287 に答える