0
私はcodeigniterでフィルタ検索機能を実行しようとしています。私は製品と呼ばれるテーブルを持っており、私のシステムは、これらの製品をカテゴリ別および日付別にフィルタリングする機能を持っています。mysql intersectionの実装
SELECT * from products WHERE product_category='Cloth'
INTERSECT
SELECT * from products WHERE ('insert date logic here')
だから、それは製品の名前と同じテーブルから(ID経由)のレコードを返す必要があります。私はこのようになります念頭に置いて、MySQLのコードを持っています。しかし、mysqlにINTERSECTはありませんので、これを行う方法はわかりません。どんな助けでも大歓迎です!
これは私のコードは、ちょうどなぜあなただけand
を使用することはありません製品カテゴリ
$this->db->limit($limit,$start);
$query = $this->db->query('SELECT * from product_advertised WHERE quantity > 0 AND prodcatid='.$prodcats[0].' LIMIT '.$start.','.$limit);
if(sizeof($prodcats > 1)) {
$query_str = "SELECT * FROM product_advertised WHERE quantity>0 AND ";
$str="";
for($i = 0;$i < sizeof($prodcats);$i++) {
if($i != sizeof($prodcats)-1) {
$str = $str. "prodcatid=".$prodcats[$i]." OR ";
}
else {
$str = $str. "prodcatid=".$prodcats[$i]." LIMIT ".$start.",".$limit;
}
}
$query_str .= $str;
$query = $this->db->query($query_str);
}
if($query->num_rows() > 0) {
foreach($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
これは、製品カテゴリの一部のためだけに、まだ日付なしのコードです。それはちょっと複雑なんだけど...単純なことをすればいいとは思っていません。/(編集中) –