繁体   English   中英

如何使用具有相同名称的多个选择中的值更新表?

[英]How to update a table with values from multiple selects with the same name?

我有一系列使用mysql数据填充的选择。 注意:日期名称是一个标签

Sunday    time_from    time_to
Monday    time_from    time_to
Tuesday   time_from    time_to
...
Saturday  time_from    time_to 

在数据库中,这些存储在称为可用性的表中,该表的结构为:

CREATE TABLE `staff_availability` (
  `staff_availability_id` int(11) NOT NULL AUTO_INCREMENT,
  `staff_id` int(11) NOT NULL,
  `day_id` int(1) NOT NULL,
  `time_from_id` int(2) DEFAULT NULL,
  `time_to_id` int(2) DEFAULT NULL,
  PRIMARY KEY (`staff_availability_id`)
);

该表链接到其他2个表,以获取漂亮的用户可读名称和时间,但对于UPDATE / INSERT,我将不需要这些,因为select具有其各自的time_from_id等作为值(不包括标签天)

我的php运行2个foreach循环-一个用于time_from,一个用于time_to,其生成的选择如下:

<select id="time_from" class="form-control input-sm" name="time_from">

<option value="null">Not Available</option>
 <?php foreach ($this->time_slots as $time) {

     if ($time->time_slot_id == $availability->time_from_id) { ?>

          <option value="<?php echo $time->time_slot_id; ?>" selected="selected"><?php echo $time->time; ?></option>

     <?php } else { ?>
          <option value="<?php echo $time->time_slot_id; ?>"><?php echo $time->time; ?></option>

    <?php }
} ?>
</select>  

问题:$ _POST ['time_from']和$ _POST ['time_to']仅返回一个值。 我将如何返回所有7对选择以更新staff_availability表中的7个时隙,如下所示:

day_id    time_from_id    time_to_id
1         2               14
2         4               14
3         2               14
...

如果您将<select>命名为更好的名称,则可以访问所有7个。

<select name="time_from[0]" ...>

有关更多详细信息,请参见PHP文档的HTML FAQ中的第3点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM