PHP обновляет несколько строк при отправке

Привет, я повторил несколько строк из базы данных. В каждой строке есть поле выбора, которое отображает то, что в данный момент находится в этом поле, связанном с этой строкой.

С помощью поля выбора я могу выбрать другой вариант. При отправке ничего не происходит, ошибок нет. Что он должен сделать, так это обновить эти поля. Мне никогда раньше не удавалось обновлять несколько строк, так что это для меня в новинку.

Первый запрос ниже - это обновление, которого я пытаюсь достичь, чтобы обновить все поля с помощью order_ref.

Второй запрос просто отображает все данные, необходимые для просмотра.

<?php
ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
?>
    <form>
    <table class = "tbl-qa">  
            <thead>
                 <tr>
                    <th class = "table-header"><p>Action</p></th>
                    <th class = "table-header"><p>Campaign</p></th>
                    <th class = "table-header"><p>Title</p></th>
                    <th class = "table-header" width = "100px"><p>Order Reference</p></th>
                    <th class = "table-header"><p>Last updated</p></th>
                  </tr>
            </thead>
            <tbody> 
    <?php
        require_once("../db/db_connection.php");
        if (isset($_POST['submit'])) {      
            $sql = $db->prepare("UPDATE articles SET order_ref=? WHERE id=?
            ");
            $order_ref = $_POST['order_ref'];

            $sql->bind_param("ii", $order_ref, $_GET["id"]);    
            if ($sql->execute()) {
                $success_message = "Edited Successfully";
            } else {
                $error_message = "Problem in Editing Record";
            }
        }
        $sql = $db->prepare("SELECT * FROM articles WHERE campname=? ORDER BY order_ref ASC

    ");
        $sql->bind_param("s",$_GET["campname"]);            
        $sql->execute();
        $result = $sql->get_result();
    ?>

    <?php
                    if ($result->num_rows > 0) {        
                        while($row = $result->fetch_assoc()) {
                ?>  

                <tr>
                    <td class = "table-row" width = "100px"><div class = "edit"><a href = "/_admin/edit.php?id=<?php echo $row["id"]; ?>" class = "link">Edit</a> |</div><div class = "bin"><a href = "delete.php?id=<?php echo $row["id"]; ?>" class = "link"><img content = "delete" id = "delete" title = "Delete" onclick = "return confirm('Are you sure you want to delete?')" src = "/_admin/images/delete.png"/></div>
                    </a>
                    </td>
                    <td>
                        <?php echo $row["campname"]; ?>
                    </td>
                    <td class = "table-row"><a href = "../campaigns/<?php echo str_replace(' ', '-', strtolower($row["campname"])); ?>/page.php?art_url=<?php echo $row["art_url"]; ?>"><?php echo $row["art_title"]; ?></a></td>
                    <td class = "contentedit">
                    <select name = "order_ref">
                    <option value = "<?php echo $row["order_ref"]?>"selected><?php echo $row["order_ref"]?></option>
                    <option value = "1">1</option>
                    <option value = "2">2</option>
                    <option value = "3">3</option>
                    <option value = "4">4</option>
                    <option value = "5">5</option>
                    <option value = "6">6</option>
                    </select>
                </td>
                    <td class = "table-row"><?php echo strftime("%b %d, %Y", strtotime($row["last_updated"])); ?></a></td>
                    <!-- action -->
                    </tr>
                <?php

                        }
                    }

                    else {
                        echo "No results";
                    }

                ?>
                                <tr class = "table-row">
                    <td colspan = "5"><input name = "submit" type = "submit" value = "Update" class = "submit"></td>
                </tr>
            </tbody>
        </table>

    </form>

Что мне нужно сделать, чтобы обновить order_ref для каждой строки, которая выводится эхом?

пожалуйста, опубликуйте html / форму для этого.

Funk Forty Niner 27.10.2018 16:57

Вы используете здесь как POST, так и GET, почему? $order_ref = $_POST['order_ref']; и $order_ref, $_GET["id"]), что это?

Funk Forty Niner 27.10.2018 16:58
"ошибок нет" - обработки ошибок вообще не вижу.
Funk Forty Niner 27.10.2018 16:58

@Funk Forty Niner Я включил код формы и обработку ошибок. Надеюсь, это даст вам лучшее представление.

user10567514 27.10.2018 17:02

Формы по умолчанию используют GET без метода POST. У вас есть отчет об ошибках, но вы не сообщили нам, какие именно ошибки вы получили. if (isset($_POST['submit'])) не будет. То же и для $order_ref = $_POST['order_ref'];.

Funk Forty Niner 27.10.2018 17:02

@Funk Forty Niner Я добавил полный код с кодом сообщения об ошибке вверху. Я перехожу по ссылке со страницы, прежде чем отобразить результаты. POST предназначен для обновления строк. Похоже, я делаю это неправильно.

user10567514 27.10.2018 17:06

По-прежнему нет решения для этого

user10567514 27.10.2018 19:09
Стоит ли изучать 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 и хотите разрабатывать...
0
7
33
0

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