0

こんにちは php で検索フォームを開発しましたが、これは完全に機能していますが、たとえばアルファベット順にフィルタリングしたいので、HTML ドキュメント A| にいくつかのアンカーを定義しました。ビ | ....

私のphpドキュメントに、次を追加しました:

        $search=$_POST['query']//query is the name of input in a form,on the same html doc
        $letter=$_GET['by'];

私のSQLクエリから、

        $sql=SELECT Title FROM table where Title LIKE %search%;

追加した :

          if(isset($letter)){
             $sql .="AND Name LIKE '$letter' ";
           }

私の問題は、たとえばリンク「A」をクリックすると、文字「A」で始まる名前を持つすべてのタイトルに対応するすべてのエントリが常に表示されることです(私のテーブルにはタイトルと名前の2つの列があります)結果をフィルタリングするために検索を実行します(名前が「A」で始まる「A」タイトルをクリックすると、検索結果で返されたタイトルのみが取得されます)

4

1 に答える 1

1

AND の前にスペースを入れてください。ただし、LIKE をワイルドカードする必要があります

$sql .=" AND Name LIKE '$letter%' ";
于 2013-02-17T15:02:45.640 に答える