Php Codeigniter-Ajax Codeigniter-Ajax-通过Ajax检索多行

Php Codeigniter-Ajax Codeigniter-Ajax-通过Ajax检索多行,php,mysql,ajax,codeigniter,Php,Mysql,Ajax,Codeigniter,如何从数据库表中检索多行并通过控制器在视图文件中访问它:) 我正在使用AJAX检索数据 我的视图文件: <script> $(document).ready(function(){ $(".listproduct".click(function(){ var value = $(this).text(); $.ajax({ type:'POST', url:'<?=site_url("purchasecont/getproductlist

如何从数据库表中检索多行并通过控制器在视图文件中访问它:)

我正在使用AJAX检索数据 我的视图文件:

<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>
我的模型文件:我将从表中检索多行

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;
                }
    }
  }
 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>

发票联
价格

如果从数据库检索的结果包含多个元素,则需要在视图中使用循环,以便使用元素(例如DataTable)填充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');

});
});
$(文档).ready(函数(){
$(“.listproduct.”单击(函数(){
var值=$(this.text();
$.ajax({
类型:'POST',

url:'对视图中从模型返回的结果要谨慎,例如,如果从ajax请求返回JSON,则首先需要对结果进行反序列化,然后才能在循环和html中使用它。很抱歉,但如何在行表中显示此结果:)我不知道如何访问ajax结果并使用它:)我该如何反序列化它呢?使用console.log(result);并查看结果的结构。如果您想创建html表,请使用javascript动态生成html。我做到了,我将在上面更新它:)只需检查我是否做对了