我有一个视图( myView ),其中有一个表单。表单操作是 myController / myFunction1 ,用于验证表单中的输入变量,并通过调用模型函数将其插入数据库。这完全没问题。
现在,我需要在表单中使用一个下拉框,其值将从数据库中的表(称为 business )获取。
这是我在模型中编写的用于获取值的代码
public function get_dropdown_list() {
$this -> db -> select('business_name');
$result = $this -> db -> get('business');
if ($result -> num_rows() > 0) {
foreach ($result->result_array() as $row) {
$new_row['value'] = htmlentities(stripslashes($row['business_name']));
$row_set[] = $new_row;
}
}
return $row_set;
}
我不完全确定这是否正确。 我需要知道的是,如果这是正确的,那么控制器内部的代码应该是什么,以及将结果显示为 myView 中表单下拉列表的视图。 如果这个模型本身是错误的,我该如何使它工作?
P.S。 :我是CodeIgniter的新手。我一直在浏览S.O和其他各种网站,以便让这个东西现在运行很长一段时间。这似乎是一个重复的问题,我真的很抱歉,因为我无法从已经讨论过的同一问题的讨论中找到解决方案。非常感谢任何帮助。
答案 0 :(得分:1)
尝试模型: -
public function get_dropdown_list() {
$this -> db -> select('business_name');
$result = $this -> db -> get('business');
if ($result -> num_rows() > 0) {
return $result->result_array();
}
else {
return false;
}
}
控制器: -
1.在您的控制器中包含模型
2.调用该函数并发送数据进行查看。
$this->load->model('model_name');
$this->data['dropdown'] = $this->model_name->get_dropdown_list();
$this->load->view('yourview', $this->data);
获取视图中的值: -
print_r($dropdown)
Loop your data and make a dropdown
<select name="dropdown">
<?php foreach($dropdown as $d) {?>
<option value="<?php echo $d;?>"><?php echo $d;?></option>
<?php }?>
</select>
答案 1 :(得分:0)
在控制器中调用此功能以从DB
获取记录$data['records'] = $this->my_model->get_data();
在my_model.php中
function get_data()
{
$query = "select * from my_tab";
$res = $this->db->query($query);
if ( $res->num_rows )
{
return $res->row_array();
}
return false;
}
在view.php中
<select>
<?for($i=0;$i<count($records);$i++)
{
?>
<option>$records[$i]->name</option>
<?php } ?>
</select>