2017-07-14 182 views
1

我試圖用'選擇'系統過濾一些查詢結果。但我有零次成功...基於數據的PHP過濾結果

下面是選擇代碼:

echo "<select name='period'>"; 
echo "<option value='select-period'>Select a period</option>"; 
echo "<option value='today'>Today</option>"; 
echo "<option value='7 days'>Last 7 days</option>"; 
echo "<option value='30 days'>Last month</option>"; 
echo "<option value='365 days'>Last year</option>"; 
echo "</select>"; 

這裏是查詢代碼:

$sqlCidade = "SELECT count(*) FROM $table_name WHERE form_value REGEXP '.*\"city\";s:[0-9]+:\"$valorCidade\".'"; 

一切完美的作品。但我需要根據選擇選項篩選結果。我試着用

AND form_date > current_date - interval '7 days' 

在最後,但它沒有奏效。

form_date是對分貝列有過帳日期)

+0

定義「沒有工作」。你得到一個錯誤?或者只是意外的結果?它看起來像我的代碼容易受到SQL注入。您不會顯示數據如何從表單到SQL,並且我們不知道您的源數據是否知道輸出是否正確。所以我們真的需要更多的信息 – ADyson

回答

0

在這裏,您可以使用DATE_SUB() Mysql的功能檢查,這func_mysql_date_sub

並嘗試這樣

echo "<select name='period'>"; 
echo "<option value='select-period'>Select a period</option>"; 
echo "<option value='1 DAY'>Today</option>"; 
echo "<option value='7 DAY'>Last 7 days</option>"; 
echo "<option value='30 DAY'>Last month</option>"; 
echo "<option value='365 DAY'>Last year</option>"; 
echo "</select>"; 

AND form_date >DATE_SUB(current_date, INTERVAL 7 DAY)