2014-04-22 70 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']; 

完成并完成。完美的作品。感谢你的帮助!