用foreach 生成一个条件式
type = 'ss' or type = 'sds' or 'sss'
然后再生成全部的查询语句

解决方案 »

  1.   

    能不能详细点啊
    怎么用foreach呢
      

  2.   

    foreach ( $arr to $key => $value )
    {
       echo $key.':'.$value.'<br>';
    }
      

  3.   

    selsct * from 表 where type like '%运动%' and type like '%拖%'
      

  4.   

    不好意思 zerowu(ZERO),我还是不明白怎么用,$arr是什么啊selsct * from 表 where type like '%运动%' and type like '%拖%'
    这样好像不行吧,我的$type可是变量啊
      

  5.   

    因为多选框过来后是数组形式,$arr 是你提交过来的变量数组啊。
      

  6.   

    不用用空格分隔分类。你可以用“/拖鞋//布鞋/”这样的。。分割,那么查询的时候,需要找的是:
    select * from 表 where 1 and type like '%/拖鞋/%'
      

  7.   

    where 1 就是所有的选项都选出来~~
      

  8.   

    selsct * from 表 where type like '%$type%' 
    这样是对的呀
      

  9.   

    听你得意思是你传递过来得type就是拖鞋(单一) 而数据库中是拖鞋 运动鞋  空格间隔??是这样么?
    那直接"select * from table where type like '%".$type."'"就可以啊 都能出来得啊
      

  10.   

    对,是那个意思
    用like我试了,有时候是可以,但是如果“男鞋 女鞋 童鞋”它会不会碰到关键字“鞋”就会搜索出来结果啊,这样岂不是不准确了
      

  11.   

    不会的如果你这样写    LIKE '%男鞋%' 绝对不会查出没有男鞋两个字的记录的。。
      

  12.   

    selsct * from 表 where type like '%$type%' 
    or
    selsct * from 表 where type like '% $type%'
    不会出现你担心的问题运动鞋 拖鞋 布鞋

    男鞋 女鞋 童鞋
    是两种不同的分类方式,放在一起是不妥当的
      

  13.   

    建议参考一下Image4中关键字的设计方式~~~~输入的时候是用空格分开的关键字组,存到数据库后就分割成独立的记录~~~~~这样查询起来更快,而且更简单~~~~http://www.4homepages.de/
      

  14.   

    selsct * from 表 where type like '%$type%'中的“%”号是什么意思啊?
      

  15.   

    用like确实可以,谢谢各位
    mikespook(懒猫开始新生活) 说的那个设计方式是怎么做的呢,是不是说出现一条记录数据库也自动加一个字断呢,你给的http://www.4homepages.de/全英文的看不懂啊