1

jQuery のオートコンプリート プラグインに本当に苦労しています。データベースに、スペースで区切られた複数の単語を含む大きなフィールドがあります。

Jumerah Lakes Towers

オートコンプリートで 1 つの単語を検索できます。たとえば、「J」と入力すると、上記の文字列「Jumerah Lakes Towers」が表示されます

ただし、「L」のような 2 番目の文字を入力すると、2 番目の単語を含むすべての単語が表示され、以下のように L で始まります。

Jumerah Lakes

等々...

つまり、最初の文字を最初の単語の開始と一致させ、2 番目の文字を 2 番目の単語の開始と一致させ、息子を on..

 $("#txtrefid").autocomplete("autocomplete.php", {
    selectFirst: true
});

そして、私のSQLクエリのWHERE条件はLIKE '%$txt%'

4

4 に答える 4

0

参考までに、私はこのようにしました

$string = 'HL';
$chars = str_split($string); //split the string into separate characters

$regexp = null; //string for the regexpansion

 foreach($chars as $char) //loop trough the characters
  $regexp .= $char . '[a-z0-9]+ ';

  $regexp = '^' . rtrim($regexp, ' ') . '$'; 
  "WHERE field REGEXP '" . $regexp . "'";
于 2013-06-27T11:30:27.290 に答える
0
$search = $_REQUEST['search'];
$search = str_split($search, 1);
$search = '' . implode('|', $search)  . '';

SELECT ... WHERE `lookup` REGEXP '$search'
于 2013-06-27T11:55:34.350 に答える