php - MySQL:无线电检查插入具有多行的数据库
问题描述
我想将两个不同的数据插入到具有不同行的表中。如果只有一个数据,就可以做到。当两个数据像图片中一样时,就会出现问题。
foreach ($rows as $row) {
<tr>
<input type="hidden" id="roomID" name="roomID" value="<?php echo $row['roomID']?>">
<td style="text-align:center"><?php echo $i++?> </td>
<td><?php echo $row['room_name']?></td>
<td style="text-align:center"><?php echo $row['number_room']?> </td>
<td style="text-align:center"><input type="radio" name="status[<?php echo $i; ?>]" id="status" value="1" required> Available</td>
<td style="text-align:center"><input type="radio" name="status[<?php echo $i; ?>]" id="status" value="2" required> Not Available</td>
</tr>
}
这是插入数据库。我曾尝试使用foreach循环插入到表中,但它只插入一个数据。
$data = $_POST['status'];
$id = $_POST['roomID'];
$sql = 'UPDATE `booking_room`
SET `available` = '.$data.'
WHERE id_hotelroom = '.$id.'';
mysql_query($sql);
有没有其他我没有注意到/图可以解决问题的解决方案?谢谢你。
解决方案
试试这个代码:
foreach ($rows as $row) { ?>
<tr>
<input type="hidden" id="roomID" name="roomID[]" value="<?php echo $row['roomID']?>">
<td style="text-align:center"><?php echo $i++?> </td>
<td><?php echo $row['room_name']?></td>
<td style="text-align:center"><?php echo $row['number_room']?> </td>
<td style="text-align:center"><input type="radio" name="status<?=$row['roomID']?>[]" id="status" value="1" required> Available</td>
<td style="text-align:center"><input type="radio" name="status<?=$row['roomID']?>[]" id="status" value="2" required> Not Available</td>
</tr>
<?php }
foreach ($_POST['roomID'] as $key => $roomID) {
$roomID = $roomID;
$status = $_POST['status'.$roomID][$key];
$sql = "UPDATE `booking_room` SET `available` = '".$status."' WHERE id_hotelroom = '".$roomID."'";
mysql_query($sql);
}
推荐阅读
- swift - swift中集合视图单元格内的按钮操作
- json - 在 AppModule 中阅读 Appsetting - Angular 8
- amazon-web-services - Amazon Pinpoint 彩信通知?
- java - Java - 如何解密 Chrome cookie?
- python - 未定义的变量“json”
- r - 闪亮服务器的问题,括号对我不满意
- python - python - 如何将csv行的第一项作为python中的列表名称?
- ruby - Ruby:nokogiri 需要 Ruby 版本 < 3.1.dev, >= 2.5
- python - python pd.read_excel [WinError 32] 该进程无法访问该文件,因为它正在被另一个进程使用
- javascript - 在返回节点之前等待嵌套循环完成