Мне нужно реализовать раскрывающийся список, чтобы выбрать клиента из базы данных, а затем получить заказы этого клиента из базы данных.
Мои коды ниже могут отображать список клиентов в раскрывающемся списке.
$query_customer = "SELECT customer FROM Customer;";
$result_customer = mysqli_query($connect, $query_customer);
<select>
<option value="" disabled selected>--- Select Customer ---</option>
<?php while($row_customer = mysqli_fetch_array($result_customer)) { ?>
<option> <?php echo $row_customer["customer"]; ?> </option>
<?php } ?>
</select>
Я намерен получать заказы этого клиента от db с кодами ниже.
$customer = $_GET['customer'];
$query_order = "SELECT order FROM Customer where customer = '$customer';";
$result_order = mysqli_query($connect, $query_order);
Моя проблема: как мне получить доступ к выбранному покупателю и передать этот код $_GET['customer']?
Я потратил час на решение этой задачи. Пожалуйста, может кто-нибудь помочь. Спасибо.
============================================== ===========
Основываясь на комментариях, я изменил приведенные ниже коды.
$query_customer = "SELECT customer FROM Customer;";
$result_customer = mysqli_query($connect, $query_customer);
<select name="customer">
<option value="" disabled selected>--- Select Customer ---</option>
<?php while($row_customer = mysqli_fetch_array($result_customer)) { ?>
<option> <?php echo $row_customer["customer"]; ?> </option>
<?php } ?>
</select>
$customer = $_GET['customer']; //Warning: Undefined array key "customer"
$query_order = "SELECT order FROM Customer where customer = '$customer';";
$result_order = mysqli_query($connect, $query_order);
<p><?php echo $result_order['order']; ?></p> //Uncaught Error: Cannot use object of type mysqli_result as array
к вашему сведению, в таблице Customer есть 10 клиентов, и у каждого клиента ровно один заказ. Результат должен быть единственным значением заказа выбранного клиента.
Я получил предупреждение и ошибку, как указано выше. Пожалуйста, посоветуйте правильный способ реализации кодов.
Большое спасибо.
Вам нужно
name="customer"
в<select>
ваш код имеет возможность SQL-инъекции, попробуйте использовать
mysqli_prepare
, когда вы хотите использовать переменную/пользовательский ввод для запроса.