К примеру я вывожу список непотвержденных заказов. И под каждым заказом есть кнопка подтвердить, которая привязана к запросу UPDATE. Как мне сделать, чтобы при ее нажатии только этот заказ подтверждался. Я понял, что надо название кнопки тоже выводить в цикле. Вопрос как?
Как? Пример можно Добавлено спустя 41 секунду: В ссылку формы? Добавлено спустя 2 минуты 13 секунд: Код (Text): if(isset($_POST['Button'])){ выполняю нужные действия то у меня все обновляется, а мне нужно конкретного заказа
Код (PHP): <a href='?order_id=1'>подтвердить заказ: 1</a> <?php If( isset( $_GET['order_id'] ) ) $query = 'update ... Set order_check = 1 Where order_id = '.$_GET['order_id'];
А что вам мешает для каждого заказа сделать отдельную форму? Еще можно сделать вместо кнопок радиобоксы, а где нибудь снизу поставить кнопку "заказать". Данный элемент формы позволяет выбрать только 1 вариант, который и будет отправлен на сервер.
ну вот моя форма я ее вывожу в цикле для каждого заказа. Код (Text): <?php $orders_print = get_orders_all_print(); foreach($orders_print as $order_print): ?> <form class="w-clearfix" action="index.php?view=manadger_orders_print" method="post" id="email-form" name="email-form" data-name="Email Form"> <div class="w-row names_row"> <div class="w-col w-col-2"> <div>НОМЕР ЗАКАЗА</div> </div> <div class="w-col w-col-2"> <div>НОМЕР КЛИЕНТА</div> </div> <div class="w-col w-col-2"> <div>Статус заказа</div> </div> <div class="w-col w-col-3"> <div>ДАТА ЗАКАЗА</div> </div> <div class="w-col w-col-3"> <div>ЦЕНА ЗАКАЗА</div> </div> </div> <div class="w-row output_services"> <div class="w-col w-col-2"> <div class="output_service"><?=$order_print['id_order_print']?></div> </div> <div class="w-col w-col-2"> <div class="output_service"><?=$order_print['id_client']?></div> </div> <div class="w-col w-col-2"> <div class="output_service"><?=$order_print['status']?></div> </div> <div class="w-col w-col-3"> <div class="output_service"><?=$order_print['date_of_receipt']?></div> </div> <div class="w-col w-col-3"> <input class="w-input input_price" id="price-2" type="text" placeholder=" Введите цену" name="price-2" required="required" data-name="Price 2"> </div> </div> <input class="w-button button_submit" name="button<?=$order_print['id_order_print']?>" type="submit" value="Подтвердить" data-wait="Please wait..."> <input class="w-button button_submit" type="submit" value="Удалить" data-wait="Please wait..."> </form> <? endforeach; ?> в ней есть ввод цены как мне написать ввод в бд Добавлено спустя 1 минуту 32 секунды: получаеться при нажатии на кнопку подтвердить будет заноситься введенная цена в запись этого заказа в бд Добавлено спустя 1 минуту 1 секунду: Код (Text): <input class="w-button button_submit" name="button<?=$order_print['id_order_print']?>" type="submit" value="Подтвердить" data-wait="Please wait..."> вот так не получаеться
Я что то не совсем понимаю, что у вас не получается!? При чем тут вообще "имя кнопки"? Вам нужно просто отправить данные на сервер, если у вас для каждого заказа отдельная форма, то при нажатии на определенную кнопку будет отправляться именно та форма. Далее на сервере вам нужно просто обработать данные и все
так мы проверяем не нажата ли кнопка, то если форма выводиться в цикле, то название кнопки будет одинаковое. И получается мы как бы отправим на сервер все формы которые выводим я так понимаю
Нет не правильно вы понимаете, название кнопки можете вообще не писать!!! пишите просто: Код (PHP): <form class="w-clearfix" action="index.php?view=manadger_orders_print" method="post" id="email-form" name="email-form" data-name="Email Form"> // какойто код <imput type="submit" value="Отправить"> </form> <form class="w-clearfix" action="index.php?view=manadger_orders_print" method="post" id="email-form" name="email-form" data-name="Email Form"> // какойто код <imput type="submit" value="Отправить"> </form> Так вот при нажатии на любую из кнопок типа submit будет отправлена именно та форма в которой этот submit находится, а имя кнопки вообще никакой роли не играет!!!
Н вот код формы. Код (Text): <?php $orders_print = get_orders_all_print(); foreach($orders_print as $order_print): ?> <form class="w-clearfix" action="index.php?view=manadger_orders_print" method="post" id="email-form" name="email-form" data-name="Email Form"> <div class="w-row names_row"> <div class="w-col w-col-2"> <div>НОМЕР ЗАКАЗА</div> </div> <div class="w-col w-col-2"> <div>НОМЕР КЛИЕНТА</div> </div> <div class="w-col w-col-2"> <div>Статус заказа</div> </div> <div class="w-col w-col-3"> <div>ДАТА ЗАКАЗА</div> </div> <div class="w-col w-col-3"> <div>ЦЕНА ЗАКАЗА</div> </div> </div> <div class="w-row output_services"> <div class="w-col w-col-2"> <div class="output_service"><?=$order_print['id_order_print']?></div> </div> <div class="w-col w-col-2"> <div class="output_service"><?=$order_print['id_client']?></div> </div> <div class="w-col w-col-2"> <div class="output_service"><?=$order_print['status']?></div> </div> <div class="w-col w-col-3"> <div class="output_service"><?=$order_print['date_of_receipt']?></div> </div> <div class="w-col w-col-3"> <input class="w-input input_price" id="price-2" type="text" placeholder=" Введите цену" name="price" required="required" data-name="Price 2"> </div> </div> <?php $id_order_print = $order_print['id_order_print']; ?> <input class="w-button button_submit" name="buttonsumbit" type="submit" value="Подтвердить" data-wait="Please wait..."> <input class="w-button button_submit" type="submit" value="Удалить" data-wait="Please wait..."> </form> <? endforeach; ?> Далее на странице на которую ведет action пишу Код (Text): <?php if(isset($_POST['buttonsubmit']) && $_POST['price']){ $data = date("Y-m-d H:i:s"); $status = "Подтвержден"; $price = $_POST['price']; $query = mysql_query("UPDATE orders_print SET price = '$price' AND date_of_adoption = '$data' AND status = '$status' WHERE id_order_print = '$id_order_print'"); } ?> Не работает. Все тоже самое. И в базу ничего не заносится
Ну во первых у вас код не совсем хороший, зачем делать 2 сабмита в форме? Это не есть хорошо.... А вообще я пологаю что у вас запрос не верный в бд Код (Text): UPDATE orders_print SET price = '$price' AND date_of_adoption = '$data' AND status = '$status' WHERE id_order_print = '$id_order_print' надо так: Код (Text): UPDATE orders_print SET price = '$price', date_of_adoption = '$data', status = '$status' WHERE id_order_print = '$id_order_print' Добавлено спустя 2 минуты 36 секунд: Советую посмотреть тут http://www.spravkaweb.ru/mysql