2013-04-07 55 views
0

我正在尝试修复脚本,告诉我上次登录时的日期(天) 当前出现此错误我如何修复我的代码以计算出天数差异

Fatal error: Unsupported operand types

我的代码如下:

$llogedin= (mysql_query("SELECT `llogin` , `username` FROM `users`")); 

下面应该然后显示它在表

while($t3 = mysql_fetch_array($llogedin)) 

    { 
echo "    
<tr> 
    <td> ". $t3['username'] ." </td> 
    <td> " . $t3['llogin'] - getdate() . " days ago </td> 
</tr>"; 
} 

我知道错误是在<td> " . $3['llogin'] - getdate() . " days ago </td>,但我不知道如何解决它。

+0

'llogin' 是最后的登录 - 我猜。而且,如果你计算旧的负电流,你会得到一个负整数,对吧?而且,这不会导致“天”。 – djot 2013-04-07 21:35:09

+0

我建议你为每一行编写自己的'echo'。它更具可读性,可帮助您了解错误发生在哪一行。 – 2013-04-07 21:44:00

+0

同样,操作数类型意味着您正在尝试操作不同的类型。对于负运算符,您应该只使用支持此运算符的类型。只要确保运算符'-'的两边都是数字。 – 2013-04-07 21:48:04

回答

0
<?php 

$example_t3 = ARRAY(); 
$example_t3[] = ARRAY('username'=>'user_1', 'llogin'=>time()-86401); 
$example_t3[] = ARRAY('username'=>'user_2', 'llogin'=>time()-2*86499); 
$example_t3[] = ARRAY('username'=>'user_3', 'llogin'=>time()-3*88000); 
$example_t3[] = ARRAY('username'=>'user_4', 'llogin'=>time()-4*99999); 

echo "<table>"; 
foreach ($example_t3 AS $t3) { 
    $days = intval((time() - $t3['llogin'])/86400); 
    echo " 
    <tr> 
     <td> ". $t3['username'] ." </td> 
     <td> " . $days . " days ago </td> 
    </tr>"; 
} 
echo "</table>"; 

?>