Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用可用的2个大厅保存预订_Php_Codeigniter - Fatal编程技术网

Php 使用可用的2个大厅保存预订

Php 使用可用的2个大厅保存预订,php,codeigniter,Php,Codeigniter,下面是将一些预订详细信息保存到数据库的功能get_hall()query返回2个大厅(haal1和hall2)。总线当进入数据库时,只有hall1正在插入。我想在下一个预订大厅插入大厅。如何改进下面的代码 function save_reserve_detail($date,$time,$flag){ $halls = $this->halls_model->get_hall(); foreach ($halls AS $each) { $

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

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;
    }

}

从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);可以处理数组插入的代码。

这里的
$flag
是什么?它没有定义?@Chetan Ameta我错了,我现在加了$flag支票。你为什么用break-inside-foreach?它将在一次执行后中断循环。因此,当我删除break-only时,它返回一个值,2将进入数据库。如何修复@VigneswaranSnow print_r($hall)并说出结果,无论它是否为数组?并通过添加insert()编辑您的问题;codenot working only
hall2
进入数据库@VigneswaranS@saku:不可能。如果打印(霍尔);给出了hall1,hall2,那么这个for循环应该可以工作。你能再说一遍吗;给出?若要检查功能,请将'hall'=>$hall[$i]分配给'hall'=>$hall[0],然后立即尝试hall1应保存一个