すべてのフォーム値を設定する必要がある場合にクエリを作成する方法は知っていますが、フォームにはオプションの値もあり、実際にはできませんこれを行う方法を理解してください。
私のフォームに4つの選択があるとしましょう:
<select name="1" id="1">
<option>Select Value</option>
<option value="rent">rent</option>
<option value="buy">buy</option>
</select>
<select name="2" id="2">
<option>Select Value</option>
<option value="house">house</option>
<option value="flat">flat</option>
</select>
<select name="3" id="3">
<option>Swimming pool</option>
<option value="any">any</option>
<option value="yes">yes</option>
<option value="no">no</option>
</select>
<select name="4" id="4">
<option>Furniture</option>
<option value="any">any</option>
<option value="yes">yes</option>
<option value="no">no</option>
</select>
選択 1 と 2 は必須ですが、3 と 4 はオプションで、デフォルト値は「any」です。
私のフォーム送信の例は次のようになります。2 = 家 | 3 = 任意 | 4 = 任意
適切な SELECT クエリはどのようになりますか?
私はこれまでに試しました:
$_POST 値を変数に入れてから、値が「任意」の場合は IF でチェックします。
if($swimming_pool == 'any') { $swimming_pool = "? OR 1=1"; }
したがって、最終的なクエリは次のようになります
select id from listings WHERE swimming_pool='$swimming_pool'
? OR 1=1
何かを選択する必要があるかどうかわかりませんか?
別の質問でそれを取り上げました。