2014-01-21 34 views
1

我正在開發中codeigniter.The用戶一張電影票預訂系統可以通過檢查每個可用seat.When的框中選擇自己的座位我嘗試存儲選中的重視會話數據我得到一個錯誤.Below是我的代碼。傳遞多個複選框值控制器

查看select_seat

<!DOCTYPE html> 
<html> 
<head> 

<title>Select Seats</title> 
<link rel="stylesheet" type="text/css" href="http://localhost/cinema/assets/css/form2.css"/> 
</head> 
<body> 
<form method="post" action="http://localhost/cinema/Movies/select_combo" name="selectshow" accept-charset="utf-8" class="username"> 
<?php 

$prevRowId = null; 
$seatColor = null; 
$tableRow = false; 
//echo $result; 
echo "<table width='100%' border='0' cellpadding='0' cellspacing='2'>"; 
foreach($query as $key=>$result) 
{ 
    $rowId = $result['rowId']; 
    $status = $result['status']; 
    $columnId = $result['columnId']; 
    $typeID=$result['seat_type_id']; 
if ($prevRowId != $rowId) { 
if ($rowId != 'A') { 
    echo "</tr></table></td>"; 
    echo "\n</tr>"; 
} 
$prevRowId = $rowId; 
echo "\n<tr><td align='center'><table border='0' cellpadding='5' cellspacing='2'>  <tr>"; 
} else { 
$tableRow = false; 
} 
if ($status == 0) { 
if($typeID==1) 
    $seatColor = "grey"; 
else if($typeID==2) 
    $seatColor="yellow"; 
else 
    $seatColor="white"; 
} 
else { 
$seatColor = "red"; 
} 

echo "\n<td bgcolor='$seatColor' align='center'>"; 
echo "$rowId$columnId"; 
if ($status == 0) 
{ 
echo "<input type='checkbox' name='seats[]' value='$rowId$columnId'></checkbox>"; 
} 
echo "</td>"; 
if (($rowId == 'A' && $columnId == 6) 
    || ($rowId == 'B' && $columnId == 7) 
    || ($rowId == 'C' && $columnId == 7) 
    || ($rowId == 'D' && $columnId == 7) 
) { 
// This fragment is for adding a blank cell which represent the "center aisle" 
echo "<td> </td>"; 
} 
} 
echo "</tr></table></td>"; 
echo "</tr>"; 
echo "</table>"; 

mysql_close(); 
?> 
<input type="submit" class="button-link" style="float:right; margin-top: 20px; margin-right:0px; margin-bottom: 10px;" value="Submit" /> 
    </form> 
</body> 
</html> 

型號

<?php 
class Selectseat extends CI_Model { 
    public function __construct() 
    { 
     $this->load->database(); 
    } 

    function get() { 
     return $this->db->query("SELECT * from seats order by rowId, columnId asc") 
      ->result_array(); 
    } 
} 
?> 

控制器

function select_combo(){ 
     foreach($this->input->post('seats[]') as $seat) 
      $data['seats']=$seat; 
    $this->session->set_userdata($data); 

     $this->load->model('combo_model'); 
    $data['combos'] = $this->combo_model->get_combo(); 
    $this->load->view('header'); 
     $this->load->view('select_combo',$data); 


    } 

我得到這個錯誤

A PHP Error was encountered 

Severity: Warning 

Message: Invalid argument supplied for foreach() 

Filename: controllers/Movies.php 

回答

1

快速的發現:

具有值數組

$this->input->post('seats[]') 

相反

$seats = $this->input->post('seats'); 

現在的席位不能使用。

您可以更改如下代碼:

function select_combo(){ 
    $data['seats']=$this->input->post("seats"); 
    $this->session->set_userdata($data); 

    $this->load->model('combo_model'); 
    $data['combos'] = $this->combo_model->get_combo(); 
    $this->load->view('header'); 
    $this->load->view('select_combo',$data); 


    } 
+0

肯定。可能。檢查你的html。 '也''怪。有沒有這樣的標籤? –

+0

非常感謝您的快速回復!它的作品完美.. – user3142334

+0

可以請你告訴我如何使用此會話數組存儲在數據庫中的一列。 – user3142334

相關問題