簡體   English   中英

Codeigniter不會根據where條件從數據庫返回數據

[英]codeigniter not returning data from database based on where condition

我試圖通過基於用戶輸入的codeigniter中的ajax調用獲取一些數據,但是我一直從數據庫而不是匹配項中獲取所有結果。

這是我的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>

請問我做錯了什么?

您的關鍵字輸入字段具有id loca,但是您在關鍵字選擇器中使用了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');

並且必須先檢查您發布的關鍵字的值,然后再將其傳遞給模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM