2014-10-30 2 views
0

Я создаю онлайн-страницу пользователей, то, что я сделал, устанавливается, когда пользователь входит в систему, у них есть столбец в базе данных под названием «Loggedin», который изменяется на « да". Когда пользователь выходит из системы, этот столбец изменяется на «нет». Все хорошо и хорошо.Содержимое списка списка в зависимости от другого содержимого

Что я хочу сделать, это указать количество пользователей, у которых «loggedin» установлен на «yes». Я знаю, что это очень просто, как я делал это раньше, но я не могу вспомнить!

Я помню, что я должен соединить таблицы и получить строки, как этот

$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; 

Но как я могу перечислить имена пользователей с тем же идентификаторы, как LoggedIn быть «да»?

Извините, если я сформулировал это плохо!

редактировать - "Эхо $ howmany" возвращает правильное количество равно 1, как только я один вошедший в систему на локальном сервере

EDIT

ПОЛНЫЙ КОД

<?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"); 

?> 

It показывает:

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

Так это только эхо только моя :(

+1

Вы боретесь с SQL или как выводить его визуально? –

+0

@DrSchizo Почему? У меня все есть? Разве это не так, как LIST BY username WHERE loggedin = 'yes' или что-то еще? –

+0

Итак, вы хотите итерации каждой строки и отображения на экране справа? –

ответ

0

Очень простой.

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

, а затем делать то, что вы хотите с usersArray

+0

Спасибо, я попробую это :) Я делаю это процедурный, а не ориентированный на объект, хотя –

+0

Извините, я немного смущен. Что я должен повторить? Я повторил $ ​​row ['username'], но он не работает, если есть более одного имени пользователя –

+0

, если есть более одного имени пользователя, чем вам нужно поместить свое эхо после $ userArray в инструкции while или если вы хотите в другом месте, используйте цикл for. – Jim

0

Попробуйте это, он должен работать. Я не то, что вы были Дзион в то время как таблица только 1.

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

Это не проблема, проблема в том, что я не знаю, как отображать несколько результатов –

0

окончательный ответ

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

Найдено от предыдущего StackOverflow вопрос :)

Смежные вопросы