php+mysql通过位运算操作推荐位

position 字段设定为tinyint ,假定
1代表首页推荐
2代表栏目推荐
4代表内页推荐
8代表其他推荐
那么如果position 字段的值为3就代表首页推荐|栏目推荐(1+2)
如果position 字段的值为7代表首页推荐|栏目推荐|内页推荐(1+2+4)...

然后:

$position = I('position',0,intval);
if($position){
    $map[] = "position & {$position}";
}
D("TableName")->where($map)->select()

 

看下sql语句:

SELECT id FROM `TableName` WHERE  position & 3 

查询结果:

这样查出了 position =1 或=2 或=3 的所有记录 也就是 首页推荐和栏目推荐的文章

posted @ 2017-03-08 10:40  叨叨的蜗牛  阅读(314)  评论(0编辑  收藏  举报