Ajax数据表Codeigniter查询只返回一行

时间:2015-06-17 12:08:02

标签: php jquery ajax codeigniter datatable

我正在使用codeigniter生成ajax数据表并将条件作为用户ID传递,以从产品订单表中获取记录。

$this->datatables->select('orders.order_user_id,orders.order_date,orders.order_id,orders.order_confirmation_status,orders.order_payment_status,orders.order_shipping_status,orders.order_delivery_status,orders.order_packing_status')
        ->join('order_products','order_products.order_id=orders.order_id')
        ->select('round(sum(order_products.pr_quantity*order_products.pr_price))')
        ->where('orders.order_user_id',$this->uri->segment(3))
        ->unset_column('orders.order_confirmation_status')
        ->unset_column('orders.order_payment_status')
        ->unset_column('orders.order_shipping_status')
        ->unset_column('orders.order_delivery_status')
        ->unset_column('orders.order_packing_status')


        ->add_column('status', '$1','purchase_details_status(orders.order_confirmation_status,orders.order_packing_status,orders.order_shipping_status,orders.order_delivery_status)')

        ->add_column('action', '$1','purchase_details_action(orders.order_confirmation_status,orders.order_packing_status,orders.order_shipping_status,orders.order_delivery_status,orders.order_id)')

        ->from('orders');

        echo $this->datatables->generate();

        } 

这里我在Where Condition中传递user_id。我在数据库中有10条记录。但是这个表只生成一行。如同在codeigniter中foreach那样执行此操作以获取所有10条记录。

1 个答案:

答案 0 :(得分:0)

你只回显结果的第一个元素, 所以把你的结果放在一个变量中并循环它

$results = $this->datatables->generate();
foreach ($results as $row)
{
   print_r($row);
}

我希望有帮助