使用2个大厅保存预订

时间:2016-03-15 03:53:50

标签: php codeigniter

以下是将一些预订详细信息保存到数据库的功能。 get_hall()查询返回2个大厅(haal1和hall2)。总线在进入数据库时​​只有hall1正在插入。我想插入hall1 next reservation hall2。如何改进以下代码。

function save_reserve_detail($date,$time,$flag){
    $halls = $this->halls_model->get_hall();
       foreach ($halls AS $each) {
           $hall = $each['hall_id'];
           break;
       }
    $reference_no = date("YmdHis");
       if ($flag == 1) {
           $hall_id = $hall;
           $type = 1;  
           $date = $date;
       } else if ($flag == 2) {
           $hall_id = $hall;
           $type = 0;
           $date = $date;
       }
    $data = array(
        'reference_no' => $reference_no,
        'date' => $date,
        'type' => $type,
        'hall' => $hall
    );
    $result = $this->db->insert('reserving_details', $data);
    if ($result) {
         return $reference_no;
    } else {
         return 0;
    }

}

1 个答案:

答案 0 :(得分:1)

从foreach中删除休息。现在$ hall包含一个包含2个值的数组。现在使用for循环将值插入表中。

<?php
  function save_reserve_detail($date,$time,$flag){
        $halls = $this->halls_model->get_hall();
           foreach ($halls AS $each) {
               $hall = $each['hall_id'];
              // break;
           }
        $reference_no = date("YmdHis");
           if ($flag == 1) {
               $hall_id = $hall;
               $type = 1;  
               $date = $date;
           } else if ($flag == 2) {
               $hall_id = $hall;
               $type = 0;
               $date = $date;
           }
for($i=0;$i<sizeof($hall);$i++){
     $data = array(
            'reference_no' => $reference_no,
            'date' => $date,
            'type' => $type,
            'hall' => $hall[$i]
        );
        $result = $this->db->insert('reserving_details', $data);
        if ($result) {
             return $reference_no;
        } else {
             return 0;
        }

}

    }

?>

即使你可以改变你的插入('reserving_details',$ data);可以处理数组插入的代码。