2013-03-20 66 views
1

我有RTM,但我真的不確定如何使用strtotime函數將UTC的日期轉換爲unix時間,因爲我不確定什麼變量去哪裏。這裏的具體代碼:PHP:使用strtotime將pcihart使用的UTC UTC日期

$value = $_POST["Attribute"]; 
$Customer = $_POST["customer"]; 
$table = $_POST["table"]; 
$date = "date"; 
$myData = new pData(); 

$myquery = "SELECT `$value`,`$date` FROM `$table` WHERE `Customer` LIKE '$Customer' ORDER BY `date`"; 
$result = mysql_query($myquery,$connect); 
while ($row = mysql_fetch_array($result)) 
{ $myData->AddPoints($row["$value"],"serie1"); 
    $date2 = date($date,strtotime($row["date"])); 
    $myData->AddPoints($row["$date2"],"date"); } 

arrghhh,我幾乎不能再看到了。我認爲問題是倒數第二線,我只是不知道在哪裏插槽。我的數據庫中的日期列是UTC,然後我需要使用$ mydata-> AddPoints函數將該值傳遞給pChart。這有效,但數據混亂了。

任何人都可以幫助我嗎?

+1

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。 – Kermit 2013-03-20 15:35:57

+0

對您的直接問題不是幫助,而是使用生成的$ _POST變量進行查詢,這些變量最終會導致sql注入安全漏洞。 – Ihsan 2013-03-20 15:41:49

回答

1

我猜你strtotime()是好的,這個問題似乎是,你使用$row["$date2"]但你保存的時間戳爲$date2

+0

好吧,我嘗試將日期戳記保存到'$ row [「$ date」]'中,並將值傳遞給它,但它仍然處理不當,看起來它沒有正確轉換:/ – Soop 2013-03-20 15:52:23

+0

嗯,你的代碼有點兒令人困惑的是,您在查詢中調用了字段'$ date',但是您將'$ row ['date']'傳遞給'strtotime()'。也許你需要重構一下你的代碼:P – Uby 2013-03-20 15:56:29

+0

是的,這可能是我的scattergun方法的結果。我會再次撞擊磚牆,看看我想出了什麼! – Soop 2013-03-20 16:14:29

0

那麼,這是不是解決問題的辦法,但它是一個解決辦法。我發現我可以在我的選擇查詢中使用"UNIX_TIMESTAMP( $ date ) as ut_date",而且實際上可以正常工作。看起來也很乾淨。