get変数に基づいてクエリを作成しようとしています。変数を使用して、クエリが検索する行を指定します。get変数が設定されていない場合、クエリですべての行を取得する必要があります。
コードの前半で、$category変数を1,2,3のいずれかに設定しました。
WHERE products.category = $category
質問:変数が設定されていない場合、どうすればすべての行を取得できますか?
where句を追加しないでください。
WHERE products.category in (1,2,3)
あなたができる最善のことは次のとおりです。
$wc = (isset($category)) ? "WHERE products.category = '$category'" : "";
$sql = "SELECT *
FROM products
" . $wc;
WHERE
変数に値がない場合は、句を省略してください。
または
$categoryが設定されているかどうかを確認してください
products.category =$categoryを使用します
それ以外の場合1
したがって、結果は次のいずれかになります
WHERE products.category = $ category
また
ここで1
理想的には、条件付きで where ステートメントを追加します (1,2,3 カテゴリのみが存在する場合) が、カテゴリ ID が固定されている場合は、使用してみることができます。
if (!isset($category))
{
$category = "1,2,3";
}
WHERE products.category in ($category)