вот старый код который вроде бы работал как надо
<?php
$datesite = date("Y-m-d H:i:s");
$result = $cnt->prepare("SELECT * FROM test where `datetime` >= ? ORDER BY id DESC");
$result->bindParam(1, $datesite);
$result->execute();
while($myrow = $result->fetch())
{
$text = htmlspecialchars(stripslashes($myrow['text']));
$posterid = $myrow['posterid'];
$users = $cnt->prepare("SELECT * FROM users WHERE id = ?");
$users->bindParam(1, $posterid);
$users->execute();
$usersres = $users->fetch();
$name = htmlspecialchars(stripslashes($usersres['name']));
?>
<div class="text"><?php echo $text ?></div>
<div class="name"><?php echo $name ?></div>
<?php } ?>
и вот наткнулся на то что щас лучше все запросы писать через ООП ,все хранить в одном файле, создал class.php и начал туда все переносить
и получилось что то типо того
namespace Auth;
class User
{
public function test()
{
$datesite = date("Y-m-d H:i:s");
$result = $this->db->prepare("SELECT * FROM test where `datetime` >= ? ORDER BY `datetime`");
$result->bindParam(1, $datesite);
$result->execute();
return $result;
}
public function users()
{
$test = $this->test();
$result = $test->fetch();
$posterid = $result["posterid"];
$users = $this->db->prepare("SELECT * FROM users WHERE id = ?");
$users->bindParam(1, $posterid);
$users->execute();
return $users;
}
}
а в тот же index.php получился вот такой код
<?php
$glclass = new Auth\User;
$test = $glclass->test();
while($myrow = $test->fetch())
{
$text = htmlspecialchars(stripslashes($myrow['text']));
$users = $glclass->users();
$usersres = $users->fetch();
$name = htmlspecialchars(stripslashes($usersres['name']));
?>
<div class="text"><?php echo $text ?></div>
<div class="name"><?php echo $name ?></div>
<?php } ?>
он так же выводит все в цикле но уже не хочет показывать аватарки и имя юзеров иды которых указаны в таблице test ,если я там любые иды буду писать в ручную он выводит все записи под именем одного и того же юзера, допустим вывел он 2 записи которые написал я и мой друг, но почему то имя везде только мое, в первом варианте все работало ,не могу найти ошибку