PHP/MySQL | Вывод юзеров с базы
Код:
$stmt=$pdo->query('SELECT COUNT(*) as count FROM users WHERE lu>= ' . $last . ' ');
$count=$stmt->fetch(PDO::FETCH_ASSOC);
$count=$count['count'];
$foo=1;
while ($foo<=$count) {
echo "<div class='tblock'>
<a href='user$online[id]'>$online[login]</a>, $online[lvl]<br>
</div>";
$foo++;
}
Он правильно считает юзеров онлайн, но выводит всегда первого подходящего под условие столько раз, сколько человек сейчас онлайн на сайте. Т.е. есть сейчас два чела онлайн, он выведет два раза одного и того же. Как выводить всех юзеров онлайн, а не 1 по несколько раз?
$stmt=$pdo->query('SELECT COUNT(*) as count FROM users WHERE lu>= ' . $last . ' ');
$count=$stmt->fetch(PDO::FETCH_ASSOC);
$count=$count['count'];
$foo=1;
while ($foo<=$count) {
echo "<div class='tblock'>
<a href='user$online[id]'>$online[login]</a>, $online[lvl]<br>
</div>";
$foo++;
}
Он правильно считает юзеров онлайн, но выводит всегда первого подходящего под условие столько раз, сколько человек сейчас онлайн на сайте. Т.е. есть сейчас два чела онлайн, он выведет два раза одного и того же. Как выводить всех юзеров онлайн, а не 1 по несколько раз?

DELETED
11 августа 2017, в 20:51
Delete
________
посл. ред. 11.08.2017 в 20:56; всего 2 раз(а); by PhpStorm
Я хз как на пдо но думаю тут $ last заменить нужно)
<?php
$stmt=$pdo->query('SELECT COUNT(*) as count FROM users WHERE lu>= ' . $last . ' ');
$count=$stmt->fetch(PDO::FETCH_ASSOC);
while ($online = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<dv class='tblock'>
<a href='user$online[id]'>$online[login]</a>, $online[lvl]<br>
</div>";
}
?>
Так попробуй
________
посл. ред. 11.08.2017 в 20:53; всего 1 раз(а); by TheAlex

DELETED
11 августа 2017, в 20:55
Delete
TaNi (11.08.2017 в 20:52)
Я хз как на пдо но думаю тут $ last заменить нужно)
Я хз как на пдо но думаю тут $ last заменить нужно)
Вы используете PDO без подготовки запросов и без привязки параметров.

DELETED
11 августа 2017, в 20:57
Delete
<?php
$stmt = $pdo->query('SELECT * FROM users WHERE lu>= ' . $last . ' ');
$online = $stmt->fetchAll();
foreach ($online as $onl) {
echo $onl['login'];
}
и почему PDO::FETCH_ASSOC не указать при инициализации класса и потом не маяться с ним

________
посл. ред. 11.08.2017 в 21:36; всего 3 раз(а); by shadrvlad
Т.е $last не значит последний?)) переменную в студию)

DELETED
11 августа 2017, в 21:00
Delete
теперь представь лицо чувака, увидевшего конструкцию foreach($array as $value) первый раз в жизни

________
посл. ред. 11.08.2017 в 21:01; всего 1 раз(а); by PhpStorm

DELETED
11 августа 2017, в 21:02
Delete

DELETED
11 августа 2017, в 21:04
Delete
shadrvlad (11.08.2017 в 21:02)
PhpStorm, так нафига городить while если есть foreach для массивов специально
PhpStorm, так нафига городить while если есть foreach для массивов специально
в пабликах везде while юзают ты его сбил с толку хотя может начнут читать мануалки хоть .45.