Вот мой код:
public function GetLatestUsers(){
$statement = $this->Db->prepare("SELECT * FROM users ORDER by id DESC LIMIT 10");
$statement->execute();
return $statement->fetch(PDO::FETCH_ASSOC);}
А вот цикл while:
<?php
while($row = $crud->GetLatestUsers()){?>
<tr>
<td></td><td><?php echo $row['id']; ?></td><td><img src="" style="border-radius:15px; margin-right:10px;" width="25px" height="25px"> <?php echo $row['username'] ?></td><td><font color="green">Positive</font></td><td>Confirmed</td><td><a href="">Feedback</a></td>
</tr>
<?php
}
?>
Это просто возвращает 50+ той же строки, или единственной строки в базе данных, но она должна вернуть ее только один раз?
Вы запускаете запрос снова в каждом цикле.
$result = $crud->GetLatestUsers();
while($row = $result->fetch(PDO::FETCH_ASSOC)){
// do whatever.
}
GetLatestUsers должен вернуть инструкцию.
return $statement;
Вы выполняете запрос и возвращаете одну строку из функции и while
цикл выполняется бесконечно (возможно, пока не истечет максимальное время выполнения). Лучше было бы вернуть все строки в виде массива:
$statement = $this->Db->prepare("SELECT * FROM users ORDER by id DESC LIMIT 10")
$statement->execute();
return $statement->fetchAll(PDO::FETCH_ASSOC);
Затем зациклите возврат функции:
foreach($crud->GetLatestUsers() as $row){
// do stuff with $row
}