絞り込み検索を作成するために使用される複数のフィールドを持つ検索ページがあります。すべてのフィールドはオプションです。適切な変数が与えられた場合に機能するようにSQLクエリの作成を開始しようとしていますが、問題が発生しています。
これが私が現在持っているSQLクエリです:
SELECT
indicator.indid,
indicator.indicator,
indtype.indtype,
provider.provider,
report.report,
actor.actor
FROM
actor,
indicator,
indtype,
report,
provider
WHERE
indicator.indtypeid = indtype.indtypeid
AND indicator.actorid = actor.actorid
AND indicator.reportid = report.reportid
AND report.providerid = provider.providerid
AND indicator.indicator LIKE '%$indicator%'
AND indicator.indtypeid = $indtypeid;
indicatorとを指定するときはいつでもindtypeid、検索は問題なく機能します。ただし、indtypeidフィールドを空白のままにし、変数を*(デフォルト値として)に設定すると、クエリは結果を返しません。クエリを手動で試してみましたが、*または%記号が気に入らないようです。基本的に、インジケーターのみが指定されていて、noindtypeidが指定されている場合は、すべてのインジケーターを返しますindtypeids。
私は何かマイナーなものが欠けていると確信していますが、提供できる支援をいただければ幸いです。そもそもこれはすべて間違っているのかもしれません。