Intereting Posts
получить данные из возвращаемого значения массива mandrillapp Кнопка yii для создания записи db Prestashop сохраняет счета-фактуры mannualy и автоматически PHP Альтернативные структуры управления, любые недостатки? Почтовая функция php: отправка писем только в BCC Модуль Magento Fatal error: Class 'Mage_Cashondelivery_Helper_Data' не найден в \ xampp \ htdocs \ magento \ app \ Mage.php в строке 516 Запрос нескольких таблиц с помощью mysql PHP формат даты даты dd / mm / yyyy => yyyy-mm-dd Возврат данных из Laravel Jobs Форма, которая делает переадресацию браузера при доступе посредством обычной формы или запроса Ajax – возможно ли это? Экземпляр класса без переменной Как избежать повторного использования тиков в каждом файле в PHP 7 как получить автозаполнение студии zend с помощью codeigniter Вызов статического метода PHP с именем класса переменных и пространствами имен Кнопка «Радио» снимите флажок при повторном нажатии

Используйте $ _GET, чтобы захватить несколько значений с одинаковым идентификатором из URL и обновить DB

Я столкнулся с проблемой, пытаясь использовать серию флажков для выбора нескольких единиц оборудования из списка, чтобы пользователь мог «проверить» элементы.

Вот моя первая страница, которая отправляет данные

<div class="list"><form action="remove.php" enctype="multipart/form-data" name="form" id="form"> <input type="submit" style="color: white; background: none repeat scroll 0% 0% black; font-size: 21px; padding-bottom: 30px; position: fixed; height: 30px; right: 0px; margin-right: 1px;" value="Checkout" /> <table cellpadding="0" cellspacing="0" border="0" id="table"> <thead> <tr> <th>Select</th> <th>Equipment Number</th> <th>Equipment</th> </tr></thead> <tbody> <? $sql = "SELECT * FROM equipment"; $result = mysql_query($sql); while ($rows = mysql_fetch_array($result)) { if ($rows['equip_avail'] == "1") { ?> <tr> <td width="5%"><input type="checkbox" name="equip_id" value="<?php echo $rows['equip_id']; ?>" /></td> <td width="13%"><?php echo $rows['equip_num'];?></td> <td width="20%"><?php echo $rows['equipment']; ?></td> </tr> <?php } } echo '</tbody></table></form></div>'; } ?> 

И вот страница, которая затем берет данные с url и отправляет ее для подтверждения, мне нужна эта страница, чтобы иметь возможность использовать несколько «equip_id» из url (или другое обходное решение, о котором я сейчас не знаю) и обновить информацию для правильного «user_id». Я могу получить несколько, чтобы появиться в URL-адресе, но только последний захвачен.

  $id = $_SESSION['id']; $equip_id =$_GET['equip_id']; $sql = mysql_query("SELECT * FROM equipment WHERE equip_id='$equip_id'"); while($row = mysql_fetch_array($sql)){ $equip_id = $row['equip_id']; $equipment = $row["equipment"]; $equip_num = $row["equip_num"]; $equip_avail = $row["equip_avail"]; $user_id= $row['user_id']; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $user_id = $_POST['user_id']; $equip_avail = $_POST['equip_avail']; $sql = mysql_query("UPDATE equipment SET user_id='$user_id', equip_avail='$equip_avail' WHERE equip_id='$equip_id'"); header("Location: equipment_checkout.php"); exit(); } // close if post ?> 

Это HTML

  <table height="225px"> <form action="<? echo 'remove.php?equip_id='.$equip_id.' '?>" method="post" enctype="multipart/form-data" name="form" id="form"> <td width="423" valign="top"><h2>Equipment: <?php echo $equipment?></h2> <h2>Equipment Number: <?php echo $equip_num?></h2> <input name="equip_avail" type="hidden" id="equip_avail" value="0" size="30" maxlength="24" /> <?if(($_SESSION['id'] !=='0') && ($uaccounttype !== 'e') && ($uaccounttype !== 'd')){?> <input name="user_id" type="hidden" id="user_id" value="<? echo $_SESSION['id'] ?>" size="30" maxlength="64" /> </tr><?} else { $sql="SELECT * FROM members WHERE accounttype IN ('b', 'c', 'e')"; $result = mysql_query($sql); ?> <h2>Select Employee: <select name="user_id" id="user_id"> <? $count = 1; while($rows = mysql_fetch_array($result)){ if($count == 1){?> <option value="<?echo $rows['id'];?>"> <? echo $rows['firstname']. " ". $rows['lastname'] ;}} ?></option> </select></h2> <?}?> <input name="Submit" type="submit" value="Check Out"/> </br> </td> </form> </table> </div> 

Мне нужна эта последняя часть для каждого «equip_id», выбранного на первой странице, для отображения здесь, а затем базы данных, которая должна быть обновлена ​​с правильным «user_id» для каждого выбранного оборудования. Как я уже сказал, я могу заставить его обновлять одновременно, мне просто нужно сделать так, чтобы можно было редактировать большую сумму.

** ПРИМЕЧАНИЕ. Я знаю, что это не безопасный способ отправки данных, если есть какие-либо советы о том, как это безопаснее, мне бы это понравилось. СПАСИБО!!!!

Вам нужно ввести имя входа в массив ( equip_id[] ):

 <input type="checkbox" name="equip_id[]" value="<?php echo $rows['equip_id']; ?>" /> 

И тогда $_GET['equip_id'] будет массивом $rows['equip_id'] s.

Хотя, конечно, было бы лучше использовать $_POST ?

Это то, что я придумал на основе ответа, и он размещает все оборудование, выбранное на основе «equip_id», а затем соответствующим образом обновляет оборудование. Я размещаю здесь на всякий случай, если кто-то ищет такое же решение.

Я обновил эту строку, как вы предложили

 <input type="checkbox" name="equip_id[]" value="<?php echo $rows['equip_id']; ?>" 

Это вторая страница, которая считывает данные с первого.

 <?foreach ($_GET['equip_id'] as $equip_id) { $sql = mysql_query("SELECT * FROM equipment WHERE equip_id='$equip_id'") or die(mysql_error()); while($row = mysql_fetch_array($sql)){ $equipment = $row["equipment"]; $equip_num = $row["equip_num"]; $equip_avail = $row["equip_avail"]; $user_id= $row['user_id']; $equip_id= $row['equip_id'];}?> <td width="423" valign="top"><h2>Equipment: <?php echo $equipment?></h2> <h2>Equipment Number:<?php echo "$equip_num"?></h2> <?} 

Это та часть, которая публикует данные.

 if ($_SERVER['REQUEST_METHOD'] === 'POST'){ foreach ($_GET['equip_id'] as $equip_id) { $equip_id = $equip_id ; $user_id = $_POST['user_id']; $sql = mysql_query("UPDATE equipment SET user_id='$user_id', equip_avail='0' WHERE equip_id='$equip_id'") or die(mysql_error());} header("Location: member_equipment.php?id='$id'"); exit();}