我尝试创建一个搜索栏,以便用户可以搜索产品名称,但不能正常搜索产品,但我无法搜索产品。
这是我的控制器功能:
<?php
class SearchController extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->model('Search_model');
}
public function index(){
$data = array();
}
function search_keyword(){
$keyword = $this->input->post('keyword');
$data['results'] = $this->Search_model->search($keyword);
//laad de view
$this->load->view('result_view',$data);
}
}
?>
这是我的模特功能:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Search_model extends CI_Model {
function __construct(){
parent::__construct();
}
function search($keyword) {
$this->db->select('product_naam');
$this->db->like('product_naam',$keyword);
$query = $this->db->get('products');
return $query->result_array();
}
}
?>
这是我的搜索栏视图文件:
<?php include_once('templates/header.php'); ?>
<center>
<h2>Zoek een cadeau</h2><br>
<form class="navbar-form" role="search" action="<?php echo base_url(); ?>SearchController/search_keyword" method="POST">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="keyword" size="30px; ">
<div class="input-group-btn">
<button class="btn btn-default " type="submit" value = "Search"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
</center>
<div class="clearfix"></div>
<table>
<?php foreach($results as $row){ ?>
<tr>
<td><?php echo $row->product_naam?></td>
</tr>
<?php } ?>
</table>
<?php include_once('templates/footer.php'); ?>
我希望有人可以帮我解决这个问题! 感谢
答案 0 :(得分:1)
因为您使用$query->result_array();
,所以项目应由
<td><?php echo $row['product_naam']?></td>
<强> result_array()强>
此方法将查询结果作为纯数组返回,或者为空 没有产生结果的数组
答案 1 :(得分:1)
我不认为()会对你的特殊需求有所帮助。我猜,你最好的选择是绕过这个问题并使用包含LIKE子句的where函数:
Set CVBATButton = doc.getElementsByClassName("ui-button ui-widget ui-state-
default ui-corner-all ui-button-text-only")
For Each btn In CVBATButton
btn.Click
Exit For
Next
或者,如果你想要纯粹的ci,你必须改变你的'喜欢'一行:
$this->db->select('product_naam')->from('products')
$this->db->where("product_naam LIKE '%$keyword%'")->get();
对于%$查询,您可以使用
$this->db->like('product_naam',$keyword);
和$ query%可以使用
$this->db->like('product_naam',$keyword,'before');