我想做一个形如图所示的筛选菜单,我该如何设计我的表结构
感觉,这三类之间没有什么联系啊。首先,需要把这三张表建立一下theme: //主题tid,name
season://季节s_id,name
type //分类t_id,name
product: //商品p_id,name,....
type_relation //关系表relation_id,theme_id,seasion_id,type_id,product_id
$type = array();foreach($_POST as $v){//筛选三个分类的idisset(array_key_exists('theme_id',$_POST)) ? type[]="theme_id = " .$_POST['theme_id'] : continue;isset(array_key_exists('season_id',$_POST)) ? type[]="season_id = " .$_POST['season_id'] : continue;isset(array_key_exists('type_id',$_POST)) ? type[]="type_id = " .$_POST['type_id'] : continue;}
if (empty($type)) return false;//拼装sql$sql = "select * from product left join type_relation on p_id = product_id where " .implode(" OR ",$type);//查询$result = $db->query($sql);//打印var_dump($result);
这是我的看法,大致逻辑就是这样,不知道是不是你想要的,
---------------------------分隔符--------------------------------------
注意下上面的改动,把product表里原来的分类id给去掉了,然后放在一张新表里type_relation表里,在查询里,左连接,使用product_id和p_id来关联,然是OR的关系。。。
应该就符合你的需求了!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(1)
感觉,这三类之间没有什么联系啊。
首先,需要把这三张表建立一下
theme: //主题
tid,name
season://季节
s_id,name
type //分类
t_id,name
product: //商品
p_id,name,....
type_relation //关系表
relation_id,theme_id,seasion_id,type_id,product_id
$type = array();
foreach($_POST as $v){//筛选三个分类的id
isset(array_key_exists('theme_id',$_POST)) ? type[]="theme_id = " .$_POST['theme_id'] : continue;
isset(array_key_exists('season_id',$_POST)) ? type[]="season_id = " .$_POST['season_id'] : continue;
isset(array_key_exists('type_id',$_POST)) ? type[]="type_id = " .$_POST['type_id'] : continue;
}
if (empty($type)) return false;
//拼装sql
$sql = "select * from product left join type_relation on p_id = product_id where " .implode(" OR ",$type);
//查询
$result = $db->query($sql);
//打印
var_dump($result);
这是我的看法,大致逻辑就是这样,不知道是不是你想要的,
---------------------------分隔符--------------------------------------
注意下上面的改动,把product表里原来的分类id给去掉了,然后放在一张新表里type_relation表里,在查询里,左连接,使用product_id和p_id来关联,然是OR的关系。。。
应该就符合你的需求了!