ホームページ >バックエンド開発 >PHPチュートリアル >タオバオと同様のマルチレベルフィルタリングを行うためにTPを使用することについてアドバイスを求めたいのですが、1つまたは2つのフィールドを渡すときは制御するのは簡単ですが、いつ渡すかを制御するのは難しいことがわかりました。 3 つを超えるフィールドが渡されると、フィルター処理されたデータが間違ったものになります。何か良い方法はありますか?
タオバオと同様のマルチレベルフィルタリングを行うためにTPを使用する方法についてアドバイスを求めたいのですが、1つまたは2つのフィールドが渡される場合は制御するのは簡単であることがわかりました。 3 つ以上のフィールドが渡されると、フィルター処理されたデータが間違ったものになります。何か良い方法はありますか?
<br /> //多级筛选<br /> <br /> $name=$_GET[pid];<br /> $brand=$_GET[theme];<br /> $carage=$_GET[price];<br /> echo $carage;<br /> <br /> <br /> if($name="泵车" AND $brand="三一"){<br /> $handmebuyinfo=M("handmebuyinfo");<br /> $map['name']=$name;<br /> $map['brand']=$brand;<br /> //$map['carage']=$carage;<br /> $row=$handmebuyinfo->where($map)->select();<br /> dump($row);<br /> }<br /> <br /> if($name=='' OR $brand=='' OR $carage==''){<br /> $handmebuyinfo=M("handmebuyinfo");<br /> $map['name']=$name;<br /> $map['brand']=$brand;<br /> $map['carage']=$carage;<br /> $map['_logic'] = 'OR';<br /> $row=$handmebuyinfo->where($map)->select();<br /> dump($row);<br /> }<br />
$a = array(<br /> 'a' => 1,<br /> 'b' => '',<br /> 'c' => 0,<br />);<br />print_r(array_diff($a, array('')));<br />print_r(array_diff($a, array('', 0)));
Array<br />(<br /> [a] => 1<br /> [c] => 0<br />)<br />Array<br />(<br /> [a] => 1<br />)<br /><br />こうすることで if($name=='')