2012-04-20 34 views
0

我試圖改變我的SQL查詢搜索/比較LIKE BETWEEN從特定字段獲取所有值> =搜索值...無法使其工作到目前爲止。PHP SQL查詢比較搜索類別和記錄集中的值的值?

$searchcat = "brand"; 
    if (isset($_POST['searchcat'])) { 
    $searchcat = $_POST['searchcat']; 
} 
$selectVal = "LIKE %s"; 
if ($searchcat == 'quantity') { 
$selectVal = "BETWEEN %s"; 
}else{ 
$selectVal == "LIKE %s"; 
} 
mysql_select_db($database_prp, $prp); 
$query_paperlist = sprintf("SELECT * FROM paperlist WHERE $searchcat $selectVal ORDER BY paperid ASC", GetSQLValueString("%" . $colname_paperlist . "%", "text")); 
$query_limit_paperlist = sprintf("%s LIMIT %d, %d", $query_paperlist, $startRow_paperlist, $maxRows_paperlist); 
$paperlist = mysql_query($query_limit_paperlist, $prp) or die(mysql_error()); 
$row_paperlist = mysql_fetch_assoc($paperlist); 

回答

0

根據Mysql Docs,它是Between ... And。它更像是1<x<10。我認爲在你的情況下Not (Between ... And ...)是更合適的,這是not(1<x<10)=x<1 || x>10Not (Between ... And ...)可用於比操作員更大的操作。你只需要確保你的不足永遠不會是真的。

+0

非常感謝傑敏...我工作很棒! – chrisb 2012-04-20 17:53:28

+0

我很高興你做到了 – 2012-04-21 01:23:30