select * from tablename where ... or ... or ...

解决方案 »

  1.   

    select * from tablename where datediff(d,now,时间)<=3 or keyword='关键字' or score<20...
      

  2.   

    在表单中可以用一些checkbox跟这些条件元素做成一一对应的关系,当提交表单的时候,在PHP中根据checkbox的提交情况判断用户选中的是那些条件,然后构造sql语句,比如用户钩中第一(时间)和第三(积分)个条件,那么可以就可以构造:
    select * from tablename where 时间 = 当天 and 积分 = 数值;的语句.要想更灵活些,可以在表单中把逻辑运算符也做成select选择框让用户选择就可以构造出各种sql语句
      

  3.   

    $sql="select * from tablename where 1=1";
    if(时间条件不为空){
      $sql.=" and 时间=你输入的时间条件";
    }
    if(关键字条件不为空){
      $sql.=" and 关键字=你输入的关键字";
    }
    if(积分条件不为空){
      $sql.=" and 积分=你输入的积分";
    }
    这样这个sql语句就构建成了。
      

  4.   

    if($search_time<>"")
    {
        switch ($search_time)
        {
            case 1:
                $search2="and 时间字段 BETWEEN CURDATE() and DATE_ADD(CURDATE(),INTERVAL 1 DAY)";
                $search2_value = "&search_time=$search_time";
            break;
            case 2:
                $search2="and 时间字段 BETWEEN CURDATE() and DATE_ADD(CURDATE(),INTERVAL 3 DAY)";
                $search2_value = "&search_time=$search_time";
            break;
            default:
                $search2="";
                $search2_value = "";
            break;
        }
    }
    else
    {
        $search2 = "";
        $search2_value = "";
    }if($search_key<>"")
    {
        $search2 = "and (字段名称)like '%$search_key%'";
        $search2_value = "";
    }
    else
    {
        $search2 = "";
        $search2_value = "";
    }
    if($search_number<>"")
    {
        $search3 = "and (积分字段)<$search_number";
        $search3_value = "&search_number=$search_number";
    }
    else
    {
        $search3 = "";
        $search3_value = "";
    }
    $sql = "select * from table where id<>'' $search1 $search2 $search3 ";
    $search1_value等类似命名的则放在分页里面"search_more.php?page=$page$search1_value$search2_value$search3_value";
    写得这么详细你不清楚的话,那真的是没有办法了
      

  5.   

    刚有点错误把这里改一下
    if($search_time<>"")
    {
        switch ($search_time)
        {
            case 1:
                $search1="and 时间字段 BETWEEN CURDATE() and DATE_ADD(CURDATE(),INTERVAL 1 DAY)";
                $search1_value = "&search_time=$search_time";
            break;
            case 2:
                $search1="and 时间字段 BETWEEN CURDATE() and DATE_ADD(CURDATE(),INTERVAL 3 DAY)";
                $search1_value = "&search_time=$search_time";
            break;
            default:
                $search1="";
                $search1_value = "";
            break;
        }
    }
    else
    {
        $search1 = "";
        $search1_value = "";
    }