如何使用codeigniter水平显示报表数据

时间:2015-07-22 04:40:07

标签: javascript php codeigniter

我使用CodeIgniter框架开发RD Analysis报告。但在该报告中,Header和sub_headers动态追加。我想获取数据传递日期和路由ID。而当我得到标题时,它的一个子类别更改为另一个子类别之间,想要打印总列。那部分我完成但是当我得到qty记录显示在唯一的子标题行时,它不显示。只显示一个数量记录。 我在这里获取查询数据时上传。

这张图片我得到的数字是这样的。我通过路由ID 下面的唯一代码想要显示该数量。 但是当我发出警报时,它只能获得一条记录。

   $qty="SELECT 

tphsc. `product_id`,
tphsc.`sub_category_id`,
CONCAT(sum(tsohi.qty),'-',sub_category_id) as qty, 
tp.code ,
tp.`added_date`
FROM `tbl_product_has_sub_catgory` tphsc

inner join `tbl_sales_order_has_item` tsohi
on tsohi.`product_id`= tphsc.`product_id` 

inner join `tbl_product` tp 
on tp.`product_id` = tphsc.product_id

inner join `tbl_sales_order` tso
on tso.`id_sales_order` = tsohi.`id_sales_order`    

  WHERE tso.`route_id` =$value->route_id group by tphsc.sub_category_id ";
$product_qty= $this->db->mod_select($qty);

我使用子数组传递该查询数据。

   'qty'=>$product_qty->qty

我的报告视图,

  

![这里使用那张照片我觉得可以得到什么样的报道。] [2]

     

[2]:http://i.stack.imgur.com/HlUOb.png

在javascript中我传递数据,

  +'<td style="text-align:right">' + order['rd'][x].qty + '</td>'

如何在下方显示唯一代码以及如何水平显示。

ajax

   $j.ajax({
    url: 'drow_sales_order',
    method: 'post',
    data: {

        txt_sales_order_id: $j('#txt_sales_order_id').val(),
        txt_sales_ref_id: $j('#txt_sales_ref_id').val(),
        txt_id_store: $j("select[name='cmb_outlet'] option:selected").val(),
        cmb_teritory: $j("select[name='cmb_teritory'] option:selected").val(),
        cmb_culster: $j("select[name='cmb_culster'] option:selected").val(),
        cmb_area: $j("select[name='cmb_area'] option:selected").val(),
        cmb_region: $j("select[name='cmb_region'] option:selected").val(),
        txt_start_date: $j('#txt_start_date').val(),
        ref_id: $j("select[name='cmb_rep'] option:selected").val(),
        cmb_agency: $j("select[name='cmb_agency'] option:selected").val(),
        cmb_rep_area: $j("select[name='cmb_rep_area'] option:selected").val(),
        cmb_route: $j("select[name='cmb_route'] option:selected").val(),
        txt_end_date: $j('#txt_end_date').val()
    },
    success: function (data) {
        var order = JSON.parse(data);
        alert(data);
        var order_detail = [];
        var order_qty = [];


        for (var x = 0; x < order['rd'].length; x++) {

//                for (var i = 0; i <order['rd'][i].qty.length; i++) {
//                    order_qty.push(
//                            '<td style="text-align:right">' + order['rd']  [x].qty[i] + '</td>'
//                            );
//                    
 //                }
            // alert(order['rd'][x].qty);
            order_detail.push(
                    '<tr>'
                    + '<td style="text-align:center">' + order['rd'][x].date + '</td>'
                    + '<td style="text-align:left">' + order['rd'][x].ter_name + '</td>'
                    + '<td style="text-align:right">' + order['rd'][x].sales_total + '</td>'
                    + '<td style="text-align:right">' + order['rd'][x].discount + '</td>'
                    + '<td style="text-align:right">' + order['rd'][x].persantage + '</td>'
                    + '<td style="text-align:right">' + order['rd'][x].tot + '</td>'
                    + '<td style="text-align:right">' + order['rd'][x].return_amount + '</td>'
                    + '<td style="text-align:right">' + order['rd'][x].total + '</td>'
                    + '<td style="text-align:right"></td>'
                    + '<td style="text-align:right">' + order['rd'][x].retailer_count + '</td>'
                    + '<td style="text-align:right">' + order['rd'][x].calls_mate + '</td>'
                    + '<td style="text-align:right">' + order['rd'][x].productive + '</td>'
                    + '<td style="text-align:right"></td>'
                    + '<td style="text-align:right"></td>'
                    + '<td style="text-align:right">' + order['rd'][x].gross_after + '</td>'
                    +'<td style="text-align:right">' + order['rd'][x].qty + '</td>'
                    );

控制器

    public function drow_sales_order() {
      echo json_encode($this->rd_analysis_model->get_rd_analysis());
   //        $routedata = $this->rd_analysis_model->get_rd_analysis();
   //        $routecount = count($routedata);
   //
   //        for ($i = 0; $i < $routecount; $i++) {
  //            $routedata[$i]->rqty = $this->rd_analysis_model-  >routeqty($routedata[$i]->route_id);
     //        }
     //
     //        echo json_encode($routecount);
        }

0 个答案:

没有答案