У меня есть проект CRUD.
Для этого я создал базу данных в MySQL, используя метод ООП, а также HTML, PHP, Bootstrap и CSS.
В этой базе данных есть 3 таблицы: клиенты, заказы и продукты, для моего вопроса нужны только клиенты и заказы.
Проблема, с которой я сталкиваюсь, заключается в чтении клиентов (файл), когда существует более 1 регистрации, появляется только первая, и я не могу понять, почему.
Если кто-то может помочь, буду признателен :)
Код
<?php
$id_customer = '';
if (isset($_GET["id_customer"]) && !empty(trim($_GET["id_customer"]))) {
require_once "../connectDB.php";
$sql = "SELECT * FROM Customers
INNER JOIN Orders
ON Customers.id_customer = Orders.id_customer
WHERE Customers.id_customer = ?";
$columns = [
"ID Cliente" => "id_customer",
"Nome" => "fn_customer",
"Apelido" => "ln_customer",
"Email" => "email_customer",
"ID Compra" => "id_order",
"Data" =>"order_dt",
"Total" => "order_total"
];
if ($stmt = $mysqli->prepare($sql)) {
// Set parameters
$param_id = trim($_GET["id_customer"]);
// Bind variables to the prepared statement as parameters
$stmt->bind_param("i", $param_id);
// Attempt to execute the prepared statement
if ($stmt->execute()) {
$result = $stmt->get_result(); ?>
<table class = "table table-bordered table-hover">
<thead class = "thead-dark">
<tr>
<?php
foreach (array_keys($columns) as $heading) { ?>
<th scope = "col"><?= $heading ?></th>
<?php } ?>
</tr>
</thead>
<tbody>
<?php
$row = $result->fetch_array(MYSQLI_ASSOC); ?>
<?php foreach (array_values($columns) as $column) { ?>
<td><?= $row[$column] ?></td>
<?php } ?>
</table>
<?php
}
}
// Close statement
$stmt->close();
// Close connection
$mysqli->close();
}
?>
Я попытался удалить и изменить некоторые строки кода, не сильно, но это все равно не сработало.






Вы не просматриваете свои результаты. Вы хотите обернуть свой foreach тем, который проходит через все результаты:
while ($row = $result->fetch_array(MYSQLI_ASSOC)) { ?>
<tr>
<?php foreach (array_values($columns) as $column) { ?>
<td><?= $row[$column] ?></td>
<?php } ?>
</tr>
<?php } ?>
Да, просто не знал, куда их поместить, так как я не очень понимаю, чего пытается добиться OP-макет.
Внутри петли while и снаружи петли foreach.
имеет смысл, также исправлен код для закрытия цикла while
Ах, я как раз собирался сказать это. Не забудьте теги строк таблицы
<tr>и</tr>.