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 onlyhall2
进入数据库@VigneswaranS@saku:不可能。如果打印(霍尔);给出了hall1,hall2,那么这个for循环应该可以工作。你能再说一遍吗;给出?若要检查功能,请将'hall'=>$hall[$i]分配给'hall'=>$hall[0],然后立即尝试hall1应保存一个