2012-12-13 42 views
1

你好我有mysql select。我要從核心選擇loc。這個loc必須從具有dateid =('「。$ dateid。」')和location =('「。$ id。」'')的行中選擇,我還需要在WHERE中添加兩個條件。我的意思是我可以這樣做,就像WHERE dateid =('「。$ dateid。」')AND location =('「。$ id。」'')AND BETWEEN'2012-10-1'AND'2012-10- 4' 」這是行不通的。 我如何添加這個時間跨度?如何在mysql中設置2個以上的過濾器SELECT

$SQL = "SELECT loc FROM core WHERE dateid=('".$dateid."') AND location=('".$id."')"; 

$result = mysql_query($SQL); 
if($result){ 
$db_field = mysql_fetch_array($result); 
$rs[$i]=$db_field[$select[$i]];} 

} 

我可以添加在哪裏? 我怎麼能做到這一點?

+0

你是什麼意思在WHERE中添加兩個條件? – jamis0n

+0

刪除變量周圍的大括號 - 它們不是必需的。 –

+0

@RomanNewaza:[圓括號'()'不是大括號'{}'](http://cutewriting.blogspot.co.uk/2008/06/punctuation-tip-brackets-braces-and.html)。 – eggyal

回答

0

只需卸下開始日期和結束日期在前兩個括號中添加剩餘的兩個過濾器,並使用AND運算符添加剩餘的兩個過濾器。應該很好,例如

SELECT loc FROM core WHERE dateid=$dateid AND location=$id 
     AND startdate = STR_TO_DATE('$startdate', '%d/%m/%y') 
     AND enddate = STR_TO_DATE('$enddate', '%d/%m/%y') ; 

我假設dateidid是數字字段,而startdateenddate是包含日期值的字符串值,例如, 12/12/2012

請使用右欄和變量名稱。還提供您的字符串的日期格式。

+0

你好我想通過開始數據和結束日期設置時間跨度 – ganaa

+0

@ganaa在這種情況下,使用'between '例如STR_TO_DATE('$ startdate','%d /%m /%y')和STR_TO_DATE('$ enddate','%d /%m /%y')之間的'date_column' –

相關問題