$query = "select * from book where IndexID=xxx ".($price == "" ? "" : "and price=XXX").($publish == "" ? "" : "and publish=XXX");

解决方案 »

  1.   


    $ar = array("IndexID=XXX","PRICE=XXX","PUBLISH=XXX");

    $sql = "SELECT* FROM dbo.BOOK WHERE ".join(" and ",$ar);
      

  2.   

    $searchIfArray = array_diff($_GET , array('','0','列表','userList'));
    $searchIf      = '';
    foreach($searchIfArray as $key => $value)
    {
    if($key!='page' && $key!='SID')
    $searchIf = "{$key}='$value', ";
    }
    if($searchIf!='')
    $searchIf   = " WHERE ".substr($searchIf , 0 ,-2);
                $searchTotalSQL = "SELECT count(*) FROM `".TABLE_USERS."`".$searchIf;
      

  3.   

    不好意思有点儿错误。应该如下:
    $query = "select * from book where IndexID=xxx ".($price == "" ? "" : "and price=$price").($publish == "" ? "" : "and publish=$publish");
      

  4.   

    最笨的方法$sql="SELECT* FROM dbo.BOOK where IndexID=XXX";
    if(PRICE!="") $sql=$sql." and PRICE=XXX";
    if(PUBLISH!="") $sql=$sql." and PUBLISH=XXX";