[英]CodeIgniter: Populating a select input/ form dropdown with database table data
我试图用表中的数据填充选择输入/表单下拉列表。
的HTML
<select id="room_type" name="inputInfo" >
<option value="<?php echo set_value('room_type', '$data_room_type'); ?>"></option>
</select>
模型:
function get_room_details($data_room_type) { // line 19
$data_room_type = array();
$this->db->select('room_type', 'default_price');
$this->db->from('room_type');
$query = $this->db->get();
if ($query->num_rows() > 0) {
foreach ($query->result_array() as $row) {
$data_room_type[] = $row;
}
}
return $data_room_type;
}
控制器:
function index() {
$this->load->view('/main/new_reservation');
$this->load->model('reservations_model');
$this->reservations_model->get_room_details($data_room_type);
}
但我收到此错误:
遇到PHP错误
严重程度:注意
消息:未定义的变量:data_room_type
文件名:controllers / reservations.php
行号:8
第8行是:
$this->reservations_model->get_room_details($data_room_type);
返回$ query-> result_array(); 这行将为您填充多行。(如果room_type表中有多条记录)
所以您需要在view.for普通html中运行foreach循环
<select name="">
<?php
foreach($room_type as $each)
{
?>
<option value="<?=$each['rt_name']?>"><?=$each['rt_name']?></option>
<?php
}
?>
</select>
使用普通的html,否则您需要更改模型返回的返回数据。
可能会对您有所帮助。如果您遇到任何问题,请告诉我。
您有语法错误意味着您做错了什么。 而且我可以看到您在模型中编写了错误的功能拼写。
这是您编写的fucntion
,应该具有function
因此可以在那里更改并享受它。
fucntion get_room_details($data_room_type) {
错字function
应该是
function get_room_details($data_room_type) {
$data_room_type[] = $row
。 缺少分号
应该是$data_room_type[] = $row;
您可以在Model中执行以下操作: function get_room_details($data_room_type = array()) {
在Controller中: $this->reservations_model->get_room_details();
这几乎起作用了:
模型:
function pop_room_type() {
$this->db->select('rt_name')->from('room_type');
$query=$this->db->get();
return $query->result_array();
}
控制器:
function index() {
$this->load->model('reservations_model');
$data['room_type'] = $this->reservations_model->pop_room_type();
//echo "<pre>";print_r($data['room_type']);echo"</pre>";
$this->load->view('/main/new_reservation', $data);
}
视图:
<?php
//$js = 'name='$room_type'';
echo form_dropdown('room_type', $room_type);
?>
但是,存在一个大问题,而所有选择选项的“名称”都相同(rt_name:与表的列中相同)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.