На странице track.php, когда мы нажимаем кнопку «Представлять на рассмотрение» [1-я строка], я хочу обновить «ecomexpress_awb table -> номер заказа column» со значением 123456789 ....
Страница Track.php [на основе таблицы Заказы]:
Ниже представлена таблица Заказы:
Ниже представлена таблица ecomexpress_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='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 ᛦ Спасибо за ответ, если я нажму кнопку в php page [эта страница php основана на table 1], она должна скопировать значения из table 1 to table 2 ....
С какими проблемами / ошибками вы столкнулись?
@ B001 ᛦ Я не понимаю, какой запрос мне нужно использовать после нескольких часов поиска в Google ......
Если я правильно вас понял, вам нужно «SELECT ...» для загрузки данных и «INSERT ...» для сохранения данных .. и «UPDATE ...» для обновления существующих данных, которые были вставлены ранее.
@ B001 ᛦ вы правы, я не понимаю, какой запрос на обновление поможет мне: поэтому я оставил поле пустым: $sql = $con->query("update ecomexpress_awb set orderid = '' WHERE awb_id ='$awb_id'");
Позвольте нам продолжить обсуждение в чате.
вы открыты для SQL-инъекций и должны немедленно решить эту проблему
@treyBake sure, я буду работать над этим, спасибо .....






Проверьте этот код, это может вам помочь Вы должны вставить 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
?>
обе таблицы не связаны друг с другом, нужно ли связывать их внешним ключом?
Я думаю, вы дважды отправляли код track.php в ответ, пожалуйста, проверьте и обновите ......
Как я вижу, у вас есть две таблицы, и в обеих таблицах есть столбец awb, поэтому всякий раз, когда вы вставляете запись в таблицу заказов, вам нужно вставлять awb в таблицу заказов, тогда вы можете обновить свою таблицу ecomexpress_awb order_id, где этот столбец awb соответствует таблице ecomexpress_awb
Пожалуйста, проверьте, что я добавил код для обновления в call.php и track.php, но вам нужно сначала вставить awb в таблицу заказов, и нет необходимости обновлять имя столбца
Я понял, когда я вставляю другую запись в таблицу orders, а затем вставляю awb в таблицу заказов в то время, у меня нет awb в то время ...
присоединяйтесь к chat.stackoverflow.com/rooms/184025/…
Хорошо, в этом случае вы должны добавить один столбец в таблицу ecomexpress_awb с именем order_table_id, в котором всякий раз, когда вы вставляете запись в таблицу заказов, вы также должны вставлять запись в таблицу ecomexpress_awb и после того, как вы можете обновить ее с помощью этого столбца order_table_id
Добавьте еще одно поле в вашу форму кнопки в 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 пуст? Это должно иметь некоторую ценность.
как только я вставил другие значения в таблицу order, мне нужно было только вставить значение столбца awb ...
поэтому во время вставки строки в таблицу order у меня не было значений столбца awb, поэтому я оставил его пустым ...
В порядке. Если вы выполняете обе вставки одновременно, вам необходимо обновить столбец awb в таблице заказов также сразу после добавления данных в таблицу awb.
Просто проверьте еще раз, вы добавляете данные в таблицу Orders и в awb, поэтому вы можете легко добавить порядок в таблице awb. Вы можете использовать метод last_insert_id, чтобы получить идентификатор заказа из таблицы заказов и добавить его в awb вместе с другими деталями awb. надеюсь, вы понимаете, что я говорю
Я не понимаю, о чем вы пытаетесь спросить: /