次のようにデータベースからチェックボックスを設定しました...
意見:
<div class="control-group warning">
<label for="room_number" class="control-label">Room Number: </label>
<div class="controls">
<?php foreach ($query->result_array() as $row): { ?>
<input type="checkbox" name="room_number" id="room_number" value="<?php echo $row['room_number'];?>" style="margin:10px" /><?php echo $row['room_number'];?><br>
<?php } ?>
<?php endforeach; ?>
<?php echo form_error('room_number'); ?>
</div>
</div>
*ユーザーがフォームを送信すると、データベース テーブルにデータを入力する必要があります。ただし、以下のコード/メソッドは単一の行のみを送信します。*
コントローラ:
foreach($this->input->post('room_number') as $rm){ // 118
$newReservation = array (
'guest_id' => $guest_id,
'room_number' => $this->input->post('room_number'),
'room_type' => $this->input->post('room_type'),
'meal_type' => $this->input->post('meal_type'),
'extra_beds' => $this->input->post('ext_beds'),
'purchases' => 0,
'guest_count' => $this->input->post('number_of_guests'),
'checkin' => $this->input->post('start_date'),
'checkout' => $this->input->post('end_date'),
'duration' => $this->input->post('reservation_duration'),
'total' => $this->input->post('total'),
'guest_status' => $this->input->post('guest_status'),
'payment_status' => 'Pending',
'travel_agent' => $token,
'time_stamp' => $now
);
$this->group_reservations_model->populate_new_reservations_table($newReservation);
モデル:
function populate_new_reservations_table($newReservation) {
$this->db->trans_begin();
$this->db->insert_batch('reservations', $newReservation);
if ($this->db->trans_status() === FALSE) {
$this->db->trans_rollback();
return false;
}
else {
$this->db->trans_commit();
return true;
}
}
次のエラーが返されます。
PHP エラーが発生しました
重大度: 警告
メッセージ: foreach() に無効な引数が指定されました
ファイル名: controllers/group_reservations.php
ライン番号: 118