Php 如何使用Codeigniter从数据库中获取数据并将其显示在下拉列表中
我从数据库表中收集数据,并将其显示在下拉列表中,以下是我迄今为止所做的工作 这是我的控制器:Php 如何使用Codeigniter从数据库中获取数据并将其显示在下拉列表中,php,codeigniter,codeigniter-3,codeigniter-query-builder,Php,Codeigniter,Codeigniter 3,Codeigniter Query Builder,我从数据库表中收集数据,并将其显示在下拉列表中,以下是我迄今为止所做的工作 这是我的控制器: public function assign_hostel() { $inner_page_title = 'Assign Hostel'; $this->admin_header('Assign Hostel', $inner_page_title); $data['hostel'] = $this->hostel_model->ge
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 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', $data);
$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>
精选旅馆
-挑选-
您需要进行的更改很少:
更改1:
加载视图时传递$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>
精选旅馆
-挑选-
您不能从视图直接获取$hostel
到模型,您必须从控制器获取并通过$data
将其传递到视图
CONTROLLER:
public function assign_hostel() {
$inner_page_title = 'Assign Hostel';
$this->admin_header('Assign Hostel', $inner_page_title);
$data['hostels'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel', $data);
$this->admin_footer();
}
MODEL:
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();
}
VIEW:
<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
foreach ($hostels as $hostel) { ?>
<option value="<?php echo $hostel; ?>"><?php echo $hostel; ?></option>
<?php } ?>
</select>
</div>
控制器:
公共功能分配_旅舍(){
$INERNER_page_title='Assign Hostel';
$this->admin\u标题('Assign hotel',$internal\u page\u title);
$data['hotels']=$this->hotel\u model->get\u hotel();
$this->load->view('admin/hotel/assign\u hotel',$data);
$this->admin_footer();
}
型号:
公共函数get_hotel(){//get all hotel
$this->db->order_by('hotel_name','asc');
返回$this->db->get\u where('school\u hostel',数组('hostel\u name'=>
$hostel_name)->result();
}
视图:
精选旅馆
-挑选-
将$data传递给控制器中的view函数
控制器:
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 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', $data);
$this->admin_footer();
}
并在视图中获得$hotel
视图:
<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
foreach ($hostel as $hostel ) { ?>
<option value="<?php echo $hostel; ?>"><?php echo $hostel; ?></option>
<?php } ?>
</select>
精选旅馆
-挑选-
希望这对您有所帮助:
在您的视图中传递$data['hostels']
,如下所示:
首先,您的管制员应如下所示:
public function assign_hostel()
{
$inner_page_title = 'Assign Hostel';
$this->admin_header('Assign Hostel', $inner_page_title);
$data['hostels'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel' ,$data);
$this->admin_footer();
}
<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 if ( !empty($hostels)) {
foreach ($hostels as $hostel ) { ?>
<option value="<?=$hostel->hostel_name; ?>"><?=$hostel->hostel_name;?></option>
<?php } }?>
</select>
</div>
其次,您的视图应如下所示:
public function assign_hostel()
{
$inner_page_title = 'Assign Hostel';
$this->admin_header('Assign Hostel', $inner_page_title);
$data['hostels'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel' ,$data);
$this->admin_footer();
}
<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 if ( !empty($hostels)) {
foreach ($hostels as $hostel ) { ?>
<option value="<?=$hostel->hostel_name; ?>"><?=$hostel->hostel_name;?></option>
<?php } }?>
</select>
</div>
精选旅馆
-挑选-
好的,还有什么不起作用?空的下拉列表?错误的顺序?你的查询返回了错误的数据吗?你是否尝试了答案@Sylvester?包括你迄今为止为解决问题所做的工作的摘要,以及你解决问题的困难的描述。@kerbholz嗨,我得到了一个空的下拉列表我从“hostel\u name”获取columnOk,我使用了hostel\u name
作为对象变量$h
的属性。检查我的更新答案。快乐是我的,快乐编码