Как обновить таблицу при нажатии кнопки на странице php

На странице track.php, когда мы нажимаем кнопку «Представлять на рассмотрение» [1-я строка], я хочу обновить «ecomexpress_awb table -> номер заказа column» со значением 123456789 ....

Страница Track.php [на основе таблицы Заказы]:

Как обновить таблицу при нажатии кнопки на странице php

Ниже представлена ​​таблица Заказы:

Как обновить таблицу при нажатии кнопки на странице php

Ниже представлена ​​таблица ecomexpress_awb.

Как обновить таблицу при нажатии кнопки на странице php

Track.php

<?php

$con = mysqli_connect("localhost","root","","do_management4");

$result = mysqli_query($con,"SELECT * FROM orders");

echo "<table border='1'>
<tr>
<th>order</th>
<th>payment</th>
<th>generate</th>
<th>tracking id</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
$id = $row['id'];
echo "<tr>";
echo "<td>" . $row['order_id'] . "</td>";
    echo "<td>" . $row['payment_type'] . "</td>";

    echo "<td>";
    if (empty($row['awb'])) {
        echo "<form method='post' action='call.php'>";
        echo "<input type ='hidden' name='id' value='$id'>
          <input type='submit'>
          </form>";
    }
    echo "</td>";
echo "<td>" . $row['awb'] . "</td>";

echo "</tr>";
}
echo "</table>";

mysqli_close($con);

?>

Call.php

<?php

$con = mysqli_connect("localhost","root","","do_management4");

$result = mysqli_query($con,"SELECT * FROM ecomexpress_awb");

$awb_id='';
$awb_id = $_POST['awb_id'];

$sql = $con->query("update ecomexpress_awb set orderid = '' WHERE awb_id ='$awb_id'");

mysqli_close($con);

?>

Я не понимаю, о чем вы пытаетесь спросить: /

B001ᛦ 21.11.2018 11:36

@ B001 ᛦ Спасибо за ответ, если я нажму кнопку в php page [эта страница php основана на table 1], она должна скопировать значения из table 1 to table 2 ....

user8444404 21.11.2018 11:38

С какими проблемами / ошибками вы столкнулись?

B001ᛦ 21.11.2018 11:39

@ B001 ᛦ Я не понимаю, какой запрос мне нужно использовать после нескольких часов поиска в Google ......

user8444404 21.11.2018 11:39

Если я правильно вас понял, вам нужно «SELECT ...» для загрузки данных и «INSERT ...» для сохранения данных .. и «UPDATE ...» для обновления существующих данных, которые были вставлены ранее.

B001ᛦ 21.11.2018 11:41

@ B001 ᛦ вы правы, я не понимаю, какой запрос на обновление поможет мне: поэтому я оставил поле пустым: $sql = $con->query("update ecomexpress_awb set orderid = '' WHERE awb_id ='$awb_id'");

user8444404 21.11.2018 11:42

Позвольте нам продолжить обсуждение в чате.

user8444404 21.11.2018 11:51

вы открыты для SQL-инъекций и должны немедленно решить эту проблему

treyBake 21.11.2018 12:32

@treyBake sure, я буду работать над этим, спасибо .....

user8444404 21.11.2018 12:34
Стоит ли изучать 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
9
656
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Проверьте этот код, это может вам помочь Вы должны вставить awb при вставке записи в таблицу заказов, если у вас есть awb, вы можете обновить его следующим образом

Track.php

<?php

$con = mysqli_connect("localhost","root","","do_management4");

$result = mysqli_query($con,"SELECT * FROM orders");

echo "<table border='1'>
<tr>
<th>order</th>
<th>payment</th>
<th>generate</th>
<th>tracking id</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
$id = $row['id'];
echo "<tr>";
echo "<td>" . $row['order_id'] . "</td>";
    echo "<td>" . $row['payment_type'] . "</td>";

    echo "<td>";
    if (empty($row['awb'])) {
        echo "<form method='post' action='call.php'>";
        echo "<input type ='hidden' name='id' value='$id'>
            <input type ='hidden' name='order_id' value='".$row['order_id']."'>
            <input type ='hidden' name='awb' value='".$row['awb']."'>
          <input type='submit'>
          </form>";
    }
    echo "</td>";
echo "<td>" . $row['awb'] . "</td>";

echo "</tr>";
}
echo "</table>";

mysqli_close($con);

?>

Call.php

<?php

$con = mysqli_connect("localhost","root","","do_management4");

$result = mysqli_query($con,"SELECT * FROM ecomexpress_awb");

$awb_id='';
$awb_id = $_POST['awb_id'];

$sql = $con->query("update ecomexpress_awb set orderid = '".$order_id."' WHERE awb_id ='$awb_id'");

mysqli_close($con);


//Added code
$order_id='';
if (isset($_POST['order_id']) && $_POST['order_id']!=''){
    $order_id = $_POST['order_id'];
    $awb= $_POST['awb'];
    $sql = $con->query("update ecomexpress_awb set orderid = '".$order_id."' WHERE awb ='".$awb."'");
    mysqli_close($con);
}
//End added code

?>

обе таблицы не связаны друг с другом, нужно ли связывать их внешним ключом?

user8444404 21.11.2018 12:21

Я думаю, вы дважды отправляли код track.php в ответ, пожалуйста, проверьте и обновите ......

user8444404 21.11.2018 12:24

Как я вижу, у вас есть две таблицы, и в обеих таблицах есть столбец awb, поэтому всякий раз, когда вы вставляете запись в таблицу заказов, вам нужно вставлять awb в таблицу заказов, тогда вы можете обновить свою таблицу ecomexpress_awb order_id, где этот столбец awb соответствует таблице ecomexpress_awb

F5 Buddy 21.11.2018 12:29

Пожалуйста, проверьте, что я добавил код для обновления в call.php и track.php, но вам нужно сначала вставить awb в таблицу заказов, и нет необходимости обновлять имя столбца

F5 Buddy 21.11.2018 12:35

Я понял, когда я вставляю другую запись в таблицу orders, а затем вставляю awb в таблицу заказов в то время, у меня нет awb в то время ...

user8444404 21.11.2018 12:36

присоединяйтесь к chat.stackoverflow.com/rooms/184025/…

user8444404 21.11.2018 12:37

Хорошо, в этом случае вы должны добавить один столбец в таблицу ecomexpress_awb с именем order_table_id, в котором всякий раз, когда вы вставляете запись в таблицу заказов, вы также должны вставлять запись в таблицу ecomexpress_awb и после того, как вы можете обновить ее с помощью этого столбца order_table_id

F5 Buddy 21.11.2018 12:41

Добавьте еще одно поле в вашу форму кнопки в Track.php:

echo "<form method='post' action='call.php'>";
        echo "<input type ='hidden' name='id' value='$id'>
            <input type ='hidden' name='order_id' value='".$row['order_id']."'>
            <input type ='hidden' name='awb' value='".$row['awb']."'>
          <input type='submit'>
          </form>";

а затем обновите запрос на обновление в call.php:

if (isset($_POST['order_id'], $_POST['awb'])
 && !empty($_POST['order_id'])
 && !empty($_POST['awb'])){
    $con = mysqli_connect("localhost","root","","do_management4");
    $awb = $_POST['awb'];
    $order_id = $_POST['order_id'];
    $sql = $con->query("update ecomexpress_awb set orderid = '".$order_id."' WHERE awb ='".$awb."'");
    mysqli_close($con);
}

Почему столбец awb в вашей таблице orders пуст? Это должно иметь некоторую ценность.

Shail Paras 21.11.2018 13:34

как только я вставил другие значения в таблицу order, мне нужно было только вставить значение столбца awb ...

user8444404 21.11.2018 13:36

поэтому во время вставки строки в таблицу order у меня не было значений столбца awb, поэтому я оставил его пустым ...

user8444404 21.11.2018 13:36

В порядке. Если вы выполняете обе вставки одновременно, вам необходимо обновить столбец awb в таблице заказов также сразу после добавления данных в таблицу awb.

Shail Paras 21.11.2018 13:43

Просто проверьте еще раз, вы добавляете данные в таблицу Orders и в awb, поэтому вы можете легко добавить порядок в таблице awb. Вы можете использовать метод last_insert_id, чтобы получить идентификатор заказа из таблицы заказов и добавить его в awb вместе с другими деталями awb. надеюсь, вы понимаете, что я говорю

Shail Paras 21.11.2018 13:53

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