ユーザーがアイテムを「チェックアウト」できるように、一連のチェックボックスを使用してリストから複数の機器を選択しようとすると、問題が発生しました。
データを送信する最初のページは次のとおりです
<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からデータを取得し、それを投稿して確認するページです.URLから複数の「equip_id」を取得し(または現在認識していない別の回避策)、情報を更新するには、このページが必要です正しい「user_id」の場合。URL に複数表示することはできますが、取得されるのは最後の 1 つだけです。
$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」でデータベースが更新されることです。私が言ったように、一度に 1 つずつ更新することができます。大量に編集できるようにする必要があります。
**注: これがデータを安全に送信する方法ではないことは承知しています。より安全に送信する方法について何かアドバイスがあれば、よろしくお願いします。ありがとうございました!!!!