2013-04-07 27 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>"; 

?>