0

検索ページに Spotlight 投稿を表示しています。

ユーザーがキーワードを入力して投稿を検索すると、そのキーワードを使用して Spotlight 投稿を表示するのが好きです。そのキーワードを含む投稿がない場合は、データベースからスポットライトの投稿を取得したいと思います。

私の質問は、MySQL クエリでこれをチェックして、このキーワードで結果が得られるかどうかを確認できますか? そうでない場合は、このキーワードを無視しますか?

私のクエリ

SELECT id, title, desc 
  FROM post 
 WHERE isActive = 1 
   AND title = 'keyword'

しかし、このクエリで 0 の結果が得られる場合は、これを無視して代わりに実行したいと思います

SELECT id, title, desc 
  FROM post 
 WHERE isActive = 1
4

2 に答える 2

0

descMySQL の予約済みキーワードです (結果を * desc * 終了順序で並べ替えるために使用されます)。列名として使用するには、バックティックに入れる必要があります

$select = " SELECT id, title, `desc` ";
$from = ' FROM post';
$where = 'WHERE isActive=1 and title="%$keywords%"';
$sql = $select.$from.$where;
于 2012-05-07T14:55:21.403 に答える
0

これが私の問題を解決するために行ったことです。

$select = " SELECT id, title, desc ";
$from = ' FROM post';
$where = 'WHERE isActive=1 and title="%$keywords%"';
$sql = $select.$from.$where;

結果がなければ上書き

$where = 'WHERE isActive=1';
$sql = $select.$from.$where;

他の方法を知っている人がいたら教えてください。

于 2012-07-02T07:52:34.067 に答える