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 的所有记录 也就是 首页推荐和栏目推荐的文章