2014-04-22 71 views
0

你將如何計算MySQL中的2個變量與php之間的差異?Mysql變量計算

例如,一個粗略的例子是(該表是users,不知道從哪裏把這個):

$vipdays = "UPDATE `vipdays` SUBDIFF(TO_DAYS(`vipdate`) - `vipdays`) 

vipdate是在sql日期格式,並且需要從轉換爲天數vipdate
我認爲TO_DAYS這樣做,但不知道。減去vipdate(日期變爲vip)和vipdays(購買vip天數)後,變量vipdays將更新爲用戶剩餘的正確天數。

在網站上檢查vipdays時,此sql查詢將運行,但日期需要反映剩餘的正確天數。

這裏是什麼,我有一個更新:

$vipdate = $db->Query("SELECT TO_DAYS(vipdate) FROM `users`"); 
    $curdate = $db->Query("SELECT TO_DAYS(NOW())"); 
    $vipdays = $db->Query("SELECT premium FROM `users`"); 
    $daysremaining = $curdate - $vipdate; 
    $remaining = $vipdays - $daysremaining; 
    $db->Query("UPDATE `users` SET `premium`='{$remaining}'"); 

這是我迄今爲止...如果SQL語法是正確的它會工作。誰能幫忙?

+0

你從哪個條件決定哪個'vipdate'要從哪個'vipdate'減去?你是否希望通過'mysql'函數或'PHP'腳本來完成? – NoobEditor

+0

如果您不知道TO_DAYS的作用,請嘗試在網上搜索它。它會幫助你自己找到你的答案:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_to-days –

回答

0
$pdate = str_replace("/", "-", $data['vipdate']); 
$vipdate = strtotime($pdate); 
$cdate = str_replace("/", "-", date("Y-m-d")); 
$curdate = strtotime($cdate); 
$vipdays = $data['premium']; 
$vipdaysremaining = $data['remaining']; 

完成並完成。完美的作品。感謝你的幫助!