"select * from subcatalog WHERE name LIKE '%$keywords%' and category = $catalog ORDER BY Rank $rank limit $pages, $rows"
$catalog の値が空の場合、上記のステートメントはどのように達成できますか? では、catalog = $catalog が空の場合、リストからは何も表示されません
カタログ = ORDER になります
明らかに構文エラーがあります
少なくとも $catalog は引用符で囲み、'$catalog' として記述する必要があります
ただし、まだ問題があります。空のカタログを持つレコードのみを指定できます。これを望まない場合は、 $catalog が空の場合は、catalog='$catalog' と書かないでください
$catalog が空の場合は、catalog = $catalog という条件を提示し、別の変数として書き込みます。空の場合、条件全体が空になります。 。 。
if($catalog==''){ $tiaojian = '';}else{ $tiaojian = "and catalog = $catalog";}$sql = "select * from subcatalog WHERE name LIKE '%$keywords%' $tiaojian ORDER BY rank $rank limit $pages, $rows"