2014-01-29 87 views
0

我有一個名爲DATE的字段的mysql數據庫,將數據存儲爲日期。我正在嘗試獲取php日期,以便從當前日期起爲未來31天選擇記錄。日期範圍之間的查詢不顯示結果

這是我...

$start_THISMONTH = "-1"; 
if (isset($to_date)) { 
$start_THISMONTH = $to_date; 
} 
$finish_THISMONTH = "-1"; 
if (isset($from_date)) { 
$finish_THISMONTH = $from_date; 
} 
mysql_select_db($database_WHTSON, $WHTSON); 
$query_THISMONTH = sprintf("SELECT * FROM CALENDAR WHERE DATE BETWEEN %s AND %s AND  APPROVED = 1 ORDER BY DATE ASC", GetSQLValueString($start_THISMONTH, "date"),GetSQLValueString($finish_THISMONTH, "date")); 
$THISMONTH = mysql_query($query_THISMONTH, $WHTSON) or die(mysql_error()); 
$row_THISMONTH = mysql_fetch_assoc($THISMONTH); 
$totalRows_THISMONTH = mysql_num_rows($THISMONTH); 

-

設立兩個變量的代碼是

$from_date = date("Y-m-j"); 
$to_date = date('Y-m-j', strtotime("+31 days")); 

和身體我的PHP代碼是

<h4><strong><font color="#FF0000"><?php echo $row_THISMONTH['EVENT_NAME']; ?></font></strong></h4> 
    <?php $date = date_format($row_THISMONTH['DATE'], 'jS F'); ?> 
    <h5><em><?php echo $date; ?>, <?php echo $row_THISMONTH['TIMES']; ?><br /> 
    <?php echo $row_THISMONTH['LOCATION_ADDRESS']; ?>, <?php echo $row_THISMONTH['LOCATION_TOWN']; ?> <?php echo $row_THISMONTH['LOCATION']; ?></em><br /> 
    </h5> 
    <p><?php echo $row_THISMONTH['EVENT_DETAILS']; ?><br /> 
    </p> 

無結果ts正在顯示。這是一個新建立的數據庫,只有一條記錄在那裏,情人節的日期。如果我將代碼更改爲簡單的「查找所有記錄」查詢,它顯示很好(雖然date_format不顯示日期。)

這是我的剋星,請幫我理解我做錯了什麼?

+0

當$ start_THISMONTH' ='時,此函數返回GetSQLValueString($ start_THISMONTH,「date」)' 1'? –

回答

1

如果你有在MySQL(YYYY-MM-DD)日期字段列然後嘗試date('Y-m-d')代替date('Y-m-j')

+0

謝謝,我試過了,看到了領先的零的邏輯,但在改變和刷新頁面後,什麼也沒有顯示出來。 –

+0

嘗試轉義DATE字段 –

+0

試過SELECT * FROM CALENDAR WHERE'DATE' BETWEEN%s和%s ORDER BY'DATE' ASC但依然沒有快樂,它正在慢慢地驅使我瘋狂:) –

0

我在這個一直盯着了這麼久,但我想我已經找到了一個答案。我想是合乎邏輯和使用$ to_date和$ from_date,然後在查詢中輸入錯誤的順序,所以儘管我沒有真正解決這個問題,但我認爲這個問題在這個場合是我的不整潔。很多來自討論,非常感謝 - 時間爲一張表格和一個更慢的速度:)