2014-06-11 82 views
0

我有一個問題。PHP MySQL時間查詢

所以在MySQL表中的記錄是這樣的:

2014-04-01 15:04:39 

而且所有查詢都通過鏈接到$ _GET在我的例子fromhour做出....

這是輸入:

echo "<input type='time' placeholder='From...' name='fromhour' id='basicExample' >"; 

這是創建MySQL查詢的函數。

if (isset($data['fromhour'])) 
{ 
    $where[] = "RIGHT (calldate, 8) <= '" . $data['fromhour']; 
    if ($mode == 'count') 
     $used_params[] = 'fromhour=' . $data['fromhour']; 
} 

現在,當我把例如04:00:00的URL變爲:

http://xxx.xxx.xxx.xxx/index.php?fromhour=04%3A00%3A00

反正是有,我可以解析或任何所以在MySQL該查詢wouldt是04% 3A00%3A00但是04:00:00?

而這正是我合併SQL查詢:提前

$sql = 'SELECT * FROM test'; 
    if (count($where) > 0) 
     $sql .= ' WHERE ' . implode(' AND ', $where); 

謝謝...

+0

可以代表「前Fork「 –

+0

使用'urldecode' http://codepad.org/PbocZu5S – Brewal

回答

0

你可以使用PHP的urldecode創建查詢

$nicetime=urldecode('04%3A00%3A00') 

> '04:00:00' 
+0

這很奇怪: http://www.php.net/manual/en/function.urldec ode.php '警告 superglobals $ _GET和$ _REQUEST已經被解碼。對$ _GET或$ _REQUEST中的元素使用urldecode()可能會產生意想不到的危險結果。現在您提到它了...' – stepozer

+0

... $ _GET變量應該已經乾淨。奇怪的。 – amenadiel