在代码点火器中搜索名称而不是id ..?

时间:2018-01-16 09:24:33

标签: php codeigniter

我是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任何建议..?

2 个答案:

答案 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注入保护但我总是喜欢安全