Таблица показывает только одно значение, когда должно быть много

У меня есть проект 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();
}

?>

Я попытался удалить и изменить некоторые строки кода, не сильно, но это все равно не сработало.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не просматриваете свои результаты. Вы хотите обернуть свой foreach тем, который проходит через все результаты:

    while ($row = $result->fetch_array(MYSQLI_ASSOC)) { ?>
     <tr>
        <?php foreach (array_values($columns) as $column) { ?>
            <td><?= $row[$column] ?></td>
         <?php } ?>
     </tr>
     <?php } ?>
     

Ах, я как раз собирался сказать это. Не забудьте теги строк таблицы <tr> и </tr>.

KIKO Software 18.12.2022 10:05

Да, просто не знал, куда их поместить, так как я не очень понимаю, чего пытается добиться OP-макет.

Moudi 18.12.2022 10:06

Внутри петли while и снаружи петли foreach.

KIKO Software 18.12.2022 10:06

имеет смысл, также исправлен код для закрытия цикла while

Moudi 18.12.2022 10:11

Другие вопросы по теме