ホームページ  >  記事  >  バックエンド開発  >  複数条件クエリ、送信されたnull値の扱い方(条件)

複数条件クエリ、送信されたnull値の扱い方(条件)

WBOY
WBOYオリジナル
2016-06-23 14:26:031110ブラウズ

表 1 には、ブランド、年、モデルが含まれています
ボード (BMW、フォード、アオディ)
年 (2011、2012、2013)
タイプ (車、SUV、MPV)

ユーザーが選択できる 3 つのドロップダウン メニューを作成しましたクエリ
1、ボードで BMW、年で 2013 を選択しましたが、3 番目のタイプは選択されていませんでした。

ただし、これを実行すると、タイプ フィールドは空で送信され、クエリを実行すると、
board='BMW と等しくなります。 'AND year="2013" AND type=''
選択されていないフィールドが NULL ではないことを理解したいのですが、すべての BMW および 2013 モデルです。
board='BMW'AND year="2013" AND type は null ではありません

または

board='BMW'AND year="2013"
やり方は、


ディスカッションに返信(解決策)

書き方を参考にすることができます

$where = array();if($board){    $where[]=" board='$board'";}if($year){    $where[]=" year='$year'";}....$sql.=(!empry($where)) ? ' where ' . implode(' and ', $where) : '';

投稿後の $_POST を
にします$_POST = array('board' => 'BMW', 'year' => '2013', 'type' => '');
$w = array(); as $k=>$v ) {
if(! empty($v)) $w[] = "$k='$v'"
}
$where = join(' and ', $w); ;
ボード='BMW'および年='2013'を取得します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。