Я пытаюсь зациклить строки, чтобы отразить мой результат. Итак, я присоединяюсь к своим 2 таблицам базы данных, чтобы получить некоторые результаты, в частности, номер модели и название модели из таблицы заказов, а другие - из таблицы order_history. Я пытаюсь зациклить строки, чтобы они отображали товары, которые доставлены в какое время и кем, а также одобрены кем. Тем не менее, я, кажется, получаю бесконечный цикл результатов, могу ли я дать несколько советов о том, как сделать мой цикл результатов. Это таблицы, которые я использую-> стол заказов и таблица order_history. Спасибо.
[EDIT]: ошибка
<?php
$query = "SELECT * FROM orders o
INNER JOIN order_history oh
ON o.order_id = oh.order_id";
$result = $conn->query($query);
if (!$result) die($conn->error);
$rows = $result->num_rows;
if ($rows > 0) {
?>
<table id = "tabledata" class = " table table-striped table-hover table-bordered">
<tr class = "bg-dark text-white text-center">
<th> Order ID </th>
<th> Model Number </th>
<th> Model Name </th>
<th> Warehouse A </th>
<th> Storage Room </th>
</tr >
<?php
// output data of each row
while($rows = $result->fetch_assoc()){
?>
<tr>
<?php
for($i=0;$i<count($rows);$i++){
?>
<td> <?php echo $rows['order_id']; ?> </td>
<td> <?php echo $rows['model_number']; ?> </td>
<td> <?php echo $rows['model_name']; ?> </td>
<td>
<ul>
<li>Delivered by <?php echo $rows['deliverer']; ?> at
<?php echo $rows['time_delivered']; ?></li>
<li><?php echo $rows['order_status']; ?> by <?php echo $rows['approver']; ?></li>
</ul>
</td>
<td>
<ul>
<li>Delivered by <?php echo $rows['deliverer']; ?> at
<?php echo $rows['time_delivered']; ?></li>
<li><?php echo $rows['order_status']; ?> by <?php echo $rows['approver']; ?></li>
</ul>
</td>
<?php
}
?>
</tr>
<?php
}
}
?>
</table>
У вас не должно быть цикла for($i=0;$i<count($rows);$i++){, цикл while уже перебирает все ваши результаты.
Но мне нужно зациклить мои результаты, как в моем столбце station_name в моем order_history, станции разные, и я не могу отразить их в определенных столбцах таблицы html.
Это не бесконечный цикл, это вложенный цикл, который вам не нужен.
Но как вывести определенные записи в определенные столбцы html? Столбец базы данных station_name имеет разные станции, и я пытаюсь отразить его в разных столбцах с соответствующими данными.
Используя переменную «$group», которая создается как null, но обновляется в конце каждого цикла. Вы должны уточнить свой вопрос, предоставив желаемый результат.
Вам нужно будет адаптировать именно этот метод для доставки сгруппированного вывода HTML: stackoverflow.com/a/51697336/2943403 или stackoverflow.com/a/53020886/2943403 или stackoverflow.com/a/54205037/2943403.






используйте следующее :-
<?php while($rows = $result->fetch_assoc()){ ?>
<tr>
<td> <?php echo $rows['order_id']; ?> </td>
<td> <?php echo $rows['model_number']; ?> </td>
<td> <?php echo $rows['model_name']; ?> </td>
<td align = "center">
<ul>
<li>Delivered by <?php echo $rows['deliverer']; ?> at
<?php echo $rows['time_delivered']; ?></li>
<li><?php echo $rows['order_status']; ?> by <?php echo $rows['approver']; ?></li>
</ul>
</td>
<td align = "center">
<ul>
<li>Delivered by <?php echo $rows['deliverer']; ?> at <?php echo $rows['time_delivered']; ?></li>
<li><?php echo $rows['order_status']; ?> by <?php echo $rows['approver']; ?></li>
</ul>
</td>
</tr>
<?php } ?>
Это решает половину проблемы, но не следует за столбцами html, как в столбце html под складом A и складским помещением, он повторяет то же самое и не воспроизводится должным образом.
@heh, не могли бы вы опубликовать скриншот.
Я разместил скриншот в сообщении с вопросом выше
Я спрашиваю о том, после обновления вашего кода, какой вывод вы получаете, я хочу видеть это, как вы упомянули, что о столбце HTML
Да, я разместил вывод как Редактировать: ошибка в сообщении с вопросом, извините, я не уточнил это
используйте <td align = "center">, вы можете использовать свойство margin-left
Как вы можете видеть на изображении, под столбцами склада A и складского помещения они повторяют одно и то же, продолжая многократно повторять другое в другой строке.
Пожалуйста, не публикуйте ответы использовать это. Ответы, содержащие только код, не имеют большого значения для Stackoverflow, потому что они мало что делают для обучения/расширения возможностей тысяч будущих исследователей.
Ermm вывод все тот же, просто они центрированы. Является ли мой способ повторения результата неправильным? Я хочу отображать записи с именем station_name склада A в html-столбец Warehouse A и Storage room station_name в html-столбец Storage Room. Является ли мой запрос ошибочным или то, как я неправильно повторяю результат?
как я понимаю из вашей таблицы, точка идет перед строкой столбца, в этом случае вы можете отформатировать ее с помощью css
Почему вы используете цикл for внутри строк, а предоставляете строку, которая вам нужна?