编码点火器不根据 where 条件从数据库返回数据



我试图根据用户输入通过 codeigniter 中的 ajax 调用获取一些数据,但我不断从数据库中获取所有结果而不是匹配的结果。

这是我的阿贾克斯:

$(document).ready(function () {
$(".filter").keyup(function () {
var keyword= $("#loc").val();
$.ajax({
type: "POST",
url: CFG.url + '/pages/filter_hotel_by_loc/',
data: keyword,
dataType: "json",
success: function (data) {
console.log(data);
}
});
});
});

型:

public function hotel_by_location($keyword){
$this->db->like("location", $keyword);
$query = $this->db->get('hotels');
return $query->result_array();

控制器:

public function filter_hotel_by_loc(){
$keyword=$this->input->post('loc');
$data=$this->page_model->hotel_by_location($keyword);        
echo json_encode($data);

视图:

<div class="input-style-1 b-50 color-3">
<?php echo form_open_multipart('hotels/filter_hotel_by_loc') ?>
<img src="<?php echo base_url();?>assets/img/loc_icon_small_grey.png"alt="">
<input type="text" name="loc" placeholder="What city do you prefer?"id="loca" class="filter">
</form>
</div>

请问我做错了什么?

关键字的输入字段具有idloca,但是您在关键字选择器中使用了loc,并且发布数据必须为json格式,因此您的ajax代码应该是这样的

$(document).ready(function () {
$(".filter").keyup(function () {
var keyword= $("#loca").val();
$.ajax({
type: "POST",
url: CFG.url + '/pages/filter_hotel_by_loc/',
data: {'keyword':keyword},
dataType: "json",
success: function (data) {
console.log(data);
}
}); 
});
});

并替换此行

$keyword=$this->input->post('loc');

有了这个

$keyword=$this->input->post('keyword');

并且必须在将关键字传递给模型之前检查您在发布中获得的关键字的值。

相关内容

  • 没有找到相关文章

最新更新