phpを入力と出力として使用し、sqlを使用してデータを選択およびフィルタリングする高度な検索コードを開発する際に問題が発生しました。
phpコード:
<form action="index.php?Type=Advance" method="post">
<input type="text" name="name">
<input type="text" name="sponsor">
<select size="1" name="gender" id="">
<option value="male">male</option>
<option value="female">female</femal>
</select>
<select size="1" name="address" id="">
<option value="x">x</option>
<option value="y">y</option>
<option value="z">z</option>
</select>
<input type="submit">
</form>
次に、変数を宣言します
パブリック関数AdvanceSearch($ name、$スポンサー、$ sex、$ address){
$cheack = "";
if(isset($name)&&$name != ""){
$cheack.=" name = '$name' ";
}
if(isset($sponsor)&&$sponsor != ""){
$cheack.=" AND sponsor = '$sponsor' ";
}
if(isset($gender)&&$gender != ""){
$cheack.=" AND gender = '$gender' ";
}
if(isset($address) &&$address != "" ){
$cheack.=" AND workplace = '$address' ";
}
$DB = mysql_query("SELECT * FROM table WHERE 1 = 1 ".$cheack);
echo "SELECT * FROM user WHERE ".$WHQ;
exit();
実際には機能しますが、名前を挿入しなかった場合...sqlステートメントは次のようになります
SELECT *
FROM table
WHERE AND sponsor = 'www'
AND gender = 'male'
名前を挿入せずにテーブルを検索したい場合はどうすればよいですか..名前を挿入しなかった場合にSQLステートメントを機能させるにはどうすればよいですか。