php - 如何使用 Codeigniter 从数据库中获取数据并将其显示在下拉列表中
问题描述
我从数据库表中收集数据并将其显示在下拉列表中,这是我到目前为止所做的
这是我的控制器:
public function assign_hostel() {
$inner_page_title = 'Assign Hostel';
$this->admin_header('Assign Hostel', $inner_page_title);
$data['hostel'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel');
$this->admin_footer();
}
这是我的模型:
public function get_hostel() { //get all hostel
$this->db->order_by('hostel_name', 'asc');
return $this->db->get_where('school_hostel', array('hostel_name' =>
$hostel_name)->result();
}
我的观点:
<div class="form-group">
<label class="form-control-label">Select Hostel</label>
<select class="form-control" name="state_of_origin" required>
<option value="">-Select-</option>
<?php
$hostel_name = get_hostel();
foreach ($hostel_name as $hostel ) { ?>
<option value="<?php echo $hostel; ?>"><?php echo $hostel; ?></option>
<?php } ?>
</select>
</div>
为什么我得到一个空的下拉列表?
解决方案
您需要进行一些更改:
变化一:
$data
加载视图时传递变量:
$data['hostel'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel', $data); // $data as 2nd argument
变化2:
数组的访问键$data
作为视图文件中的变量,如下所示:
<div class="form-group">
<label class="form-control-label">Select Hostel</label>
<select class="form-control" name="state_of_origin" required>
<option value="">-Select-</option>
<?php
//$hostel_name = get_hostel(); NO NEED THIS LINE
foreach ($hostel as $h ) { ?>
<option value="<?php echo $h->hostel_name; ?>"><?php echo $h->hostel_name; ?></option>
<?php } ?>
</select>
</div>
我仍然需要知道您要获取哪些列。因为在<option>
标签中你需要使用变量来访问它们的属性。现在我使用了$h
错误的变量本身。
你应该使用类似的东西$h->name;
推荐阅读
- c# - 如何在 TableAdapter 上使用 join
- node.js - 使用参数验证创建 Mongoose Schema
- r - R使用映射函数或循环计算多个数据帧的新列
- laravel - Laravel队列工作者试图获取非对象的属性“id”
- r - 使用 dcast 使用假人重新排列数据帧
- python - 如何在python中对外部对象进行更改检测?
- xml - 执行 s3.listObjects() 时出现“转义 (%) 模式中的非法十六进制字符”
- javascript - Google Apps 脚本在 Google 课堂中仅列出特定日期之后的作业
- javascript - 如何检查对象是否具有数组中的键?
- mysql - 如何在 mySQL 中对手动创建的列求和