簡體   English   中英

使用日期()選擇Minutos之前的在線用戶的SQL查詢

[英]SQL query to select online users minutos ago using date ()

嗨,我找到了一個教程來學習如何管理注冊登錄,他使用的是Mysql,但是我已經對mysqli進行了更改,將來我將更改為PDO。 但我也想學習其他東西

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']."'");

而在我要顯示實際登錄用戶的頁面中,我有此顯示,但我顯示了所有用戶..我的意思是,即使登錄了一周,您登錄后似乎仍然在線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'].", ";
                            } 
                        }

                            ?>

也相關了解這個。

我已經為博客文章創建了另一個表格,其中使用de same date()函數設置“發布日期”和“未發布日期”,其思想是設置文章出現在博客上的開始日期和結束日期。

我的想法是使用查詢來構建它,以檢查今天的date()是否在數據庫中該日期的預定范圍之間,但是我想我必須首先更好地理解例如為什么我的用戶似乎總是在線上蜂。 XD

發生您的問題(列出了所有用戶,甚至包括脫機用戶),是因為您在SQL查詢的online > date部分中使用了date('i') ,而date('i')應該是date('U')

參數或date()可用,並在此處進行說明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM