错误
用于视图中输入字段的下拉列表显示数据库中的所有数据。但不能归因于用户输入的单词。
例如:
如果数据库product
由不同的product_name
组成,例如Pepsi,Slice和Coke。
问题 =当用户在输入字段中输入任何值时,它会从数据库中获取所有数据,例如Pepsi,Slice和Coke。
解决方案通缉 =输入字段必须根据用户输入的字词显示,如果输入字母k则必须显示可乐。由于product_name
可口可乐只包含字母k。
查看
<script type="text/javascript">
$(function(){
$("#get_names_product").autocomplete({
source: "<?php echo site_url('inventory/get_product_names'); ?>" // path to the get_product_name method
});
});
</script>
<form name="frmOne" id="newBatch" class="form-horizontal" action="" method="post">
<div class="form-group">
<label for="customerName" style="color:#3fa9f5;" class="col-sm-3 control-label">Product Name</label>
<div class="col-sm-8">
<input type="text" value="<?php echo isset($post)?$post->product_name:''; ?>" class="form-control" name="systemProduct[product_name]" id="get_names_product" placeholder="Enter Product Name">
</div>
</div>
</form>
控制器
function get_product_names()
{
$this->load->model('productModel', 'product');
if (isset($_GET['term'])) {
$q = strtolower($_GET['term']);
$this->product->get_name_product($q);
}
}
模型
function get_name_product($q)
{
$q = $this->db->query("SELECT distinct `product_name` FROM `product` where `deleteProduct` = '0' ");
if ($q->num_rows() > 0) {
foreach ($q->result_array() as $row) {
$row_set[] = htmlentities(stripslashes($row['product_name'])); //build an array
}
echo json_encode($row_set); //format the array into json data
}
}
答案 0 :(得分:0)
在选择查询中使用LIKE关键字。
select product_name from product where deleteProduct = '0' AND productName LIKE "%'.$q.'%"