用通配符_选了哪个就组成一个5位长的字符串。
比如选了看电视,则看电视这个的value="1____",然后将这些字符串到数据库里去like。
select * from table where field like value
如果是上面的value='1____',就是查找字段以1开头的那些。
其实mysql可以写自定义函数应该更简单。
比如选了看电视,则看电视这个的value="1____",然后将这些字符串到数据库里去like。
select * from table where field like value
如果是上面的value='1____',就是查找字段以1开头的那些。
其实mysql可以写自定义函数应该更简单。
比如选了看电视,则看电视这个的value="1____",然后将这些字符串到数据库里去like。
select * from table where field like value
如果是上面的value='1____',就是查找字段以1开头的那些。
其实mysql可以写自定义函数应该更简单。------------------------------It's a good idea.
$b = bindec('01011');
$c = $a & $b;
echo decbin($c);
假设欲比较的值为11001
$a = bindec('11001');
select * from user where horbby & $a > 0;
1,第一种就是在MySQL里面建立个自定义函数,能将爱好字段内的数据转成二进制,然后再去位运算
2,第二种大概就只能将数据取出,在PHP里面转换,然后再判断位运算结果。是不是这样的,真的不知道该怎么样做了,谢谢大家
sets的值为 'football','soccer','basketball','tennis','fishing','hiking'.....等这样的方式选择出 如果有一项以上爱好是符合的,
设你外面生成的二进制字符串为$str='110001'SELECT * from a1 where sets & b'110001' >0 即可
id userid interests (这里可以用代码)
1 1 football
2 1 tennis
3 2 boxing
4 2 makelove
ice_berg16(寻梦的稻草人) ( ) 信誉:125 Blog 2006-10-26 21:26:32 得分: 0
相应的数据库应存储int类型的字段值楼主的意思应该是找出有相同爱好的用户吧
假设欲比较的值为11001
$a = bindec('11001');
select * from user where horbby & $a > 0;这个方法好,又学了一招
(ps:hobby拼错了...)