我是codeigniter的新手,并使用我的数据库字段创建了一个下拉列表。因此,当我选择特定字段并单击提交按钮时,它应显示我的数据库中的所有这些值。我对如何将字段值传递给我的控制器文件然后传递给我的模型文件感到困惑。我们可以仅将值作为数组传递给模型或视图文件吗?
控制器文件:
class Dropcontroller extends CI_Controller {
function __construct() {
parent::__construct();
}
public function index()
{
$this->load->helper('form');
$this->load->view('dropview');
}
public function data_submitted(){
$this->load->helper('array');
$data = array(
'name'=>$this->input->post('details')
);
$this->load->model('Dropmodel');
$this->Dropmodel->select($data);
$this->load->model('Dropmodel');
$result = $this->Dropmodel->select($data);
$data['result'] = $result[0];
$this->load->view('dropview',$data);
}
}
模型文件:
“我的数据库名称是USERS,包含三个字段NAME,EMAIL,ID。当我从下拉列表中选择NAME时,我的数据库中的所有名称都应显示”
class Dropmodel extends CI_Model{
function __construct(){
parent::__construct(); //call the model constructor
}
function select($data){
$query = $this->db->query('SELECT $data from users');
if ($query->num_rows()>0) {
$data = $query->result();
return $data;
} else {
return false;
}
}
查看文件:
?php echo form_open('Dropcontroller');?>
<?php echo '<h1>Creating a dropdown and displaying the results from database</h1>';?><br/>
<?php $options = array(
'name' => 'Name',
'email' => 'Email',
'id' => 'Id',
);
echo form_dropdown('details',$options);?><br/></br>
<?php echo form_submit(array('id'=>'submit','value'=>'submit'));?><br>
<?php echo form_close();?>
<?php if(isset($result)){
foreach($result as $item){
print_r($item);
}
}?>
答案 0 :(得分:0)
您没有在表单中传递正确的操作。您只是使用无法运行的控制器名称。
你需要
<?php echo form_open('Dropcontroller/data_submitted');?>
。
如果您要向data_submitted
提交数据。
如果您有任何疑惑,请告诉我。