2014-10-30 103 views
0

我一直在創建一個用戶在線頁面,我所做的是在用戶登錄時將其設置爲,他們在數據庫中有一列名爲「Loggedin」的列,該列更改爲「是」。當用戶註銷時,該列變爲「否」。一切都很好,很好。根據其他內容列出表格內容

我想要做的是列出「已登錄」設置爲「是」的用戶數量。我知道這很簡單,因爲我以前做過但我不記得了!

我記得我參加表格,並得到這樣

$whoisloggedin = mysqli_query($con,"SELECT loggedin,username FROM stats LEFT JOIN users ON  stats.id=users.id WHERE loggedin='yes'"); 
$howmany = mysqli_num_rows($whoisloggedin); 
echo $howmany; 

但我怎麼可以列出具有相同ID的用戶名作爲的loggedIn是「是」的行?

對不起,如果我措辭不好!

編輯 - 在「回聲$的howmany」返回正確的量爲1,因爲我是唯一一個記錄在本地服務器上

編輯

全碼

<?php 
include("header.php"); 
include("connect.php"); 

$whoisloggedin = mysqli_query($con,"SELECT loggedin,username FROM stats LEFT JOIN users ON  stats.id=users.id WHERE loggedin='yes'"); 

$howmany = mysqli_num_rows($whoisloggedin); 
echo $howmany,"<br>"; 

while ($row = mysqli_fetch_assoc($whoisloggedin)) { 
$test = $row['username']; 
echo $test,"<br>"; 
} 

include ("footer.php"); 

?> 

它顯示:

4 (the amount of users with "Loggedin" set to "yes" 
Kenazz (my username) 

所以它只是回聲只是我的:(

+1

找到你用SQL或掙扎如何輸出視覺? – 2014-10-30 16:13:49

+0

@DrSchizo爲什麼?我擁有的一切不是嗎?是不是就像LIST BY用戶名WHERE loggedin ='yes'或什麼的? – 2014-10-30 16:16:08

+0

所以你想迭代每一行並在屏幕上顯示權利? – 2014-10-30 16:17:13

回答

0

很簡單。

while ($row = $whoisloggedin->fetch_assoc()) { 
$usersArray[] = $row['username']; 
} 

,然後做你想要usersArray

+0

謝謝,我會盡力:)我做程序而不是對象的方向雖然 – 2014-10-30 16:19:56

+0

對不起,我有點困惑。我應該回應什麼?我回應了$ row ['username']但它不起作用,如果有多個用戶名 – 2014-10-30 16:30:26

+0

如果有超過1個用戶名比你需要將echo用在while語句中的$ usersArray之後,或者如果你想要它在別的地方,使用for循環。 – Jim 2014-10-30 16:57:22

0

試試這個,它應該工作的。我沒有什麼你一直牽着而表只有1

$whoisloggedin = mysqli_query($con,"SELECT loggedin,username FROM stats WHERE loggedin='yes'"); 
$howmany = mysqli_num_rows($whoisloggedin); 
echo $howmany; 
+0

這不是問題,問題是,我不知道如何顯示多個結果 – 2014-10-30 16:49:20

0

最終答案

while ($row = mysqli_fetch_assoc($whoisloggedin)) { 
$usersArray = $row['username']; 
echo '<pre>'; 
print_r ($usersArray); 
echo '</pre>'; 
} 

從以前的計算器問題:)