Я хочу SELECT
три случайных и уникальных строки из MySQL базы данных и заполнить три HTML "карточных" элемента некоторыми уникальными данными. Теперь я могу SELECT
данные из трех случайных строк в моей базе данных, и у меня есть PHP for-loop
, который создает три HTML карты.
Проблема, с которой я столкнулся, заключается в том, что последние значения из запроса SELECT перезаписывают различные переменные ($username
, $fullName
и $age
), поэтому одно и то же значение переменной печатается три раза вместо печати три уникальных и разных достоинства карт. Есть ли лучшее решение для l oop через переменные из запроса SELECT
и присвоение разных значений трем карточкам?
Полагаю, моя проблема в том, что я SELECT
и fetch_assoc
карты, но значения последней строки используются для переменных, которые я затем echo
трижды выхожу в for-loop
.
Код PHP:
<?php require_once '../../php/core/init.php';
$sql = 'SELECT username, name, age FROM app ORDER BY RAND() LIMIT 3';
$result = $conn->query($sql);
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$username = $row['username'];
$fullName = $row['name'];
$age = $row['age'];
}
} else {
echo '<p>No posts to show...</p>';
}
$conn->close();
?>
<div class="card-wrapper --center-align">
<?php for ($i = 0; $i < 3; $i++) {
echo '
<div class="card">
<div class="card__title">
<h5>'.$fullName.', <span class="card__title--age">'.$age.'</span></h5>
<p class="card__title--username">('.$username.')</p>
</div>
</div>';
} ?>
</div>