我是php的新手,在控制器中有这个代码:
public function selectquery($id){
$this->load->database();
$this->load->model('aboutmodel');
$data['h'] = $this->aboutmodel->selectquery($id);
$this->load->view('aboutpageview', $data);
}
这在模型中:
public function selectquery($id){
$query =$this->db->get_where('phone_mobileinfos',array('id'=>$id));
// return $query->row_array();
return $query;
}
这在视图中:
{
<p>Mobile_name:<?php echo $h['mobile_name'];?></p>
<p>Price:<?php echo $h['price'];?></p>
} 只是想通过名称搜索而不是id任何建议..?
答案 0 :(得分:1)
模特:
public function selectByName($name){
$query =$this->db->get_where('phone_mobileinfos',array('name'=>$name));
return $query->result_array();
}
在控制器中使用:
$data['by_name'] = $this->aboutmodel->selectquery($id);
在视图中:
<p>Mobile_name:<?php echo $by_name['mobile_name'];?></p>
<p>Price:<?php echo $by_name['price'];?></p>
答案 1 :(得分:0)
那么,如果我找到你正确的并添加到j.Litvak的代码,你想在数据库中搜索一个名称而不是一个id?如果是这样,你需要传递控制器方法名称变量,即http://localhost/controller_name/method/search_parameter,在你的情况下localhost / controller / selectquery / samsung
您的控制器将
public function selectquery($id){
$this->load->database();
$this->load->model('aboutmodel');
$data['h'] = $this->aboutmodel->selectByName($id);
$this->load->view('aboutpageview', $data);
}
和模型
public function selectByName($name){
$query =$this->db->get_where('phone_mobileinfos',array('name'=>$name));
return $query->result_array();
}
并查看
foreach($h as $key => $value){
这里的代码显然是在php标签中但我无法显示它们
移动: echo $value['mobile_name'];
价格: echo $value['price'];
}
因此,您通过结果创建循环,迭代找到的每个结果。 CAVEAT:您将需要测试NULL结果或者您将收到错误并小心通过URL传递字符串,codeigniter具有sql注入保护但我总是喜欢安全