2013-10-26 56 views
0

嗨,我已經找到了一個教程,學習如何管理註冊登錄,他使用Mysql的形式,但我已經做了mysqli的變化,在未來,我會改變到PDO。但我也想學習其他的東西,例如SQL查詢選擇在線用戶minutos前使用日期()

http://gigaspartan.com/2010/11/26/how-to-build-a-full-featured-login-system/

在你登錄你更新了在線表格教程每次

..這樣。

$time = date('U')+50; 
mysql_query("UPDATE `admins` SET `online` = '".$time."' WHERE `id` = '".$_SESSION['uid']."'"); 

而且在我要顯示的實際用戶登錄我的頁面有這個,但即時通訊,顯示所有的用戶。我的意思,一旦你登錄,即使一個星期pased你似乎還在網上XD JA 。

<?php 

    //select all rows where there online time is more than the current time 
    $res = mysql_query("SELECT * FROM `admins` WHERE `online` > '".date('i')."'")or die(mysql_error()); ; 

    if (mysql_num_rows($res)==0) { echo "0";} 
    else { 
    //loop for each row 
    while($row = mysql_fetch_assoc($res)){ 
    //echo each username found to be online with a dash to split them 
    echo $row['username'].", "; 
          } 
         } 

          ?> 

而且相關明白這一點..

我已經創建了一個博客文章的另一個表至極採用德同一天()函數來設置的理念是一個「發佈日期」和「取消發佈日期」設置博客上顯示文章的開始日期和結束日期..

我的想法是建立它使用查詢來檢查是否今天date()之間的數據庫中日期的預先建立的範圍,但我認爲我必須首先了解更多,例如爲什麼我的用戶總是喜歡在線。 XD

回答

0

您的問題(列出所有用戶,即使是離線的)是因爲你用date('i'),它應該是在date('U')您的SQL查詢的online > date一部分。

參數或date()可用並解釋here

+0

好吧,但即使ig im登錄,它顯示0用戶登錄..實際上是不正確的。還有在哪裏進行當前時間或日期檢查?我不明白,我認爲這是失蹤,但我不知道.. –

+0

你可以粘貼當前使用的SQL查詢嗎?您也可以嘗試直接在例如你的PHPMyAdmin通過使用'SELECT * FROM admins WHERE online> UNIX_TIMESTAMP()'並查看它是否返回你真正想要的行。 –

+0

現在工作,我想謝謝! –

相關問題