Я пытаюсь извлечь данные из моей БД с помощью цикла while. Код вытягивает правильное количество строк SQL, однако он повторяет одну и ту же запись снова и снова.
Я часами прокручивал этот код и не мог заставить его работать. Любые предложения будут ценны.
<?php
$sql = "SELECT * FROM grow_details";
$query = $conn->query($sql);
$grows = array();
while ($grow = mysqli_fetch_assoc($query)) {
$grows[] = $grow;
}
foreach($grows as $grow) {
?>
<div>
<h2><?php echo $name; ?></h2>
<table>
<tr>
<td><label for="datePlanted">Date Planted:</label></td>
<td><?php echo $datePlanted; ?></td>
</tr>
<tr>
<td><label for="strain">Strain:</label></td>
<td><?php echo $strain; ?></td>
</tr>
<tr>
<td><label for="toMaturity">Days to mature:</label></td>
<td><?php echo $toMaturity; ?></td>
</tr>
<tr>
<td><label for="type">Type:</label></td>
<td><?php echo $type; ?></td>
</tr>
<tr>
<td><label for="gender">Gender:</label></td>
<td><?php echo $gender; ?></td>
</tr>
<tr>
<td><label for="medium">Medium:</label></td>
<td><?php echo $medium; ?></td>
</tr>
</table>
</div>
<?php
}
?>
Выходы:
T3
Date Planted: 12/20/2017
Strain: Kiwi
Days to mature: 50
Type: ?
Gender: ?
Medium: Aero
<br>
T3
Date Planted: 12/20/2017
Strain: Kiwi
Days to mature: 50
Type: ?
Gender: ?
Medium: Aero
<br>
T3
Date Planted: 12/20/2017
Strain: Kiwi
Days to mature: 50
Type: ?
Gender: ?
Medium: Aero
Вы не используете ничего из массива, который вы повторяете в цикле. Вы просто печатаете одинаковые переменные $name
, $datePlanted
и т.д. Каждый раз. echo $name
должно быть echo $grow['name']
и аналогично для всех других переменных.