2016-11-09 208 views
3

我如何通過控制器:)Codeigniter-阿賈克斯阿賈克斯笨通過Ajax

檢索數據庫表和訪問它的視圖文件多行我使用AJAX來檢索數據 我看來-Retrurning多行FILE:

<script> 
$(document).ready(function(){ 
$(".listproduct".click(function(){ 
    var value = $(this).text(); 
$.ajax({ 
     type:'POST', 
     url:'<?=site_url("purchasecont/getproductlist"; ?>', 
     data: {'data' : value} , 
     success:function(result){ 
     console.log(result); 
     for(i=0;i<result['count'];i++){ 
      var table = $('#products'); 
    var tr = (
    '<tr>' + 
    '<td>'+ result[i]['invoiceno']; +'</td>'+ 
    '<td>'+ result[i]['price']; +'</td>'+ 
    '</tr>' 
    ); 
    $('#products').append(tr); 

     } 
    } 

    }); 
$(".collapse".collapse('toggle'); 

}); 
}); 
</script> 

我的控制器FILE:我會從表中檢索多行

public function getproductlist(){ 
//check if is an ajax request 
if($this->input->is_ajax_request()){ 
    //checks if the variable data exists on the posted data 
    if($this->input->post('data')){ 


    $query = $this->purchasemodel->getproductlist($this->input>post('data')); 
     $data['records'] = $query['records']; 
     $data['count'] = $query['count']; 
      $this->output->set_content_type('application/json'); 
     $this->output->set_output(json_encode($data)); 
     return $data; 
       } 
    } 
    } 

MY模型文件:我會retrie從表中詠多行

public function getproductlist($q){ 
    $this->db->select('*');  
    $this->db->from('purchaseprolist'); 
    $this->db->where('purchaseprolist.invoice' , $q); 
    $this->db->where('purchaseprolist.price != ',0,FALSE); 
    $query = $this->db->get(); 
    $row = $query->result(); 
    return array(
'records' => $row, 
'count' => count($row), 
); 

} 

我的表顯示的數據: 我無能如何在這裏顯示它幫助我通過請

<table id="products">         
    <tbody> 
     <tr> 
      <td>Invoice</td> 
      <td>price</td> 
      <td id="quantity"></td> 
     </tr> 
    </tbody> 
</table> 

回答

0

如果結果你是從數據庫中檢索有多個元素,你需要在你的視圖中使用循環,以便用元素填充html(例如。數據表)。你的代碼看起來是這樣的:

$(document).ready(function(){ 
$(".listproduct".click(function(){ 
    var value = $(this).text(); 
    $.ajax({ 
     type:'POST', 
     url:'<?=site_url("purchasecont/getproductlist"; ?>', 
     data: {'data' : value} , 
     success:function(result){ 
      for(i=0;i<result.length;i++){//loop trough elements 
       $('#myTable tr:last').after('<tr><td>' + $('#invoiceno').html(result[i]['invoiceno']); + '</td><td>' + $('#productname').text(result[i]['productname']); + '</td><td>' + $('#price').text(result[i]['price']); + '</td></tr>'); 
      } 
     } 
    }); 
$(".collapse".collapse('toggle'); 

}); 
}); 
+0

謝謝你,我會嘗試和檢查:) – Ramya

+0

要謹慎從模型視圖中的返回結果,例如,如果您從Ajax請求返回的JSON,你需要先在循環和html中使用它之前反序列化結果。 – raBne

+0

我很抱歉,但我如何顯示這個表中的行:)我不知道如何訪問ajax結果並使用它:) – Ramya