-2

私のデータベースを検索するために、オートコンプリートスクリプトと組み合わせて次のスクリプトを使用しています。たとえば、文字 a を入力すると、すべての ID が a で検索されます。文字aを入力すると、文字aで始まるidフィールドのデータのみが表示されるように変更したいと思います。

<?php
require('json.php');
error_reporting(E_ALL);
mysql_connect("localhost", "root", "") or
    die("Could not connect: " . mysql_error());
mysql_select_db("timetable") or die("No such database");
$sql = sprintf("SELECT id,dsc FROM module WHERE id LIKE '%%%s%%'",
               mysql_real_escape_string($_REQUEST['term']));
$result = mysql_query($sql)
  or die(mysql_error());
$all = array();
while ($row = mysql_fetch_array($result))
    $all[] = array('value'=>$row[1],'label'=>$row[1]);
print json_encode($all);
?>
4

1 に答える 1

2

(あなたの質問を正しく理解していれば)

LIKEクエリを変更する必要があります:

%a% 

aフィールド内のどこにでもあるすべてを検索しidます...

a%

aフィールドの先頭にあるものをすべて検索しidます ...

のドキュメントLIKEはこちら

于 2012-07-17T14:55:53.600 に答える