2016-07-27 87 views
3

说实话,我对代码的运行方式一无所知,我一直在做这件事,“读完这些之后,没有任何结果。我在编程方面还是个新手。主要问题是使用Ignited-Datatable 2.0 beta和Datatables 1.10.12我使用MVC模式,我已经看到了CV模式。Ignited-Datatables,应该怎么做?

这是MySQL查询我试着点燃的风格,使:

$sql = 
     "SELECT GROUP_CONCAT(a.servicio) AS Num_Servicio_Campus, 
     GROUP_CONCAT(DISTINCT (b.account)) AS Total_Cuentas, 
     GROUP_CONCAT(DISTINCT(YEAR(a.periodo_fin))) AS YearFin, 
     CONCAT('', FORMAT(SUM(a.consumo), 0)) AS SumatoriaConsumoEnergia, 
     CONCAT('$', FORMAT(SUM(a.costo), 2)) AS SumatoriaCostoEnergia, c.campus AS Campus 
     FROM `sdspanel1`.`pdc_consumo_energia` a 
     INNER JOIN `sdspanel1`.`ctrl_servicios` b ON(a.servicio = b.id) 
     INNER JOIN `sdspanel1`.`pdc_servicios_energia` c ON(c.cuenta = b.account) 
     WHERE c.campus IS NOT NULL AND c.campus <> '' 
     AND a.periodo_fin IS NOT NULL AND a.periodo_fin <> '' 
     AND (YEAR(a.periodo_fin) <'1-12-31' OR YEAR(a.periodo_fin)> '2010-12-31') 
     AND (YEAR(a.periodo_fin) <'2100-12-31' OR YEAR(a.periodo_fin)> '2100-12-31')"; 

     $sql .= " GROUP BY YEAR(a.periodo_fin), c.campus 
      ORDER BY YEAR(a.periodo_fin) ASC, a.servicio ASC"; 

     $query = $this->db->query($sql); 

     if($query->num_rows() > 0) 
     { 
      return $query->result_array(); 

     } 
     else 
     { 
      return FALSE; 
     } 

Query Results

而且它的工作原理,但需要在数据表的方式进行排序。并尝试这样的Stack Example,但没有结果。

所以...这是我点燃的数据表 “尝试” MODEL

function lista_campus() 
{ 
    $this->load->library('datatables'); 
    $this->datatables->FROM('pdc_consumo_energia'); 
    $this->datatables->SELECT("pdc_servicios_energia.campus AS Campus, 
    GROUP_CONCAT(pdc_consumo_energia.servicio) AS Num_Servicio_Campus, 
    GROUP_CONCAT(DISTINCT(YEAR(pdc_consumo_energia.periodo_fin))) AS YearFin, 
    CONCAT('', FORMAT(SUM(pdc_consumo_energia.consumo), 0)) AS SumatoriaConsumoEnergia, 
    CONCAT('$', FORMAT(SUM(pdc_consumo_energia.costo), 2)) AS SumatoriaCostoEnergia, 
    GROUP_CONCAT(DISTINCT(ctrl_servicios.account)) AS Total_Cuentas", FALSE); 
    $this->datatables->JOIN('ctrl_servicios', 'pdc_consumo_energia.servicio = ctrl_servicios.id', 'INNER'); 
    $this->datatables->JOIN('pdc_servicios_energia', 'pdc_servicios_energia.cuenta = ctrl_servicios.account', 'INNER'); 
    $this->datatables->WHERE('pdc_servicios_energia.campus IS NOT NULL AND pdc_consumo_energia.periodo_fin IS NOT NULL'); 
    $this->datatables->GROUP_BY('pdc_consumo_energia.periodo_fin', 'pdc_servicios_energia.campus'); 
    return $this->datatables->generate('json', ''); 



} 

控制器:

function campus_buscar3() 
{ 
    // /* Configuración de la paginación */ 

    $this->modelo_consumo_energia->lista_campus(); 
    $data['title'] = '<i class="icon-fire"></i> TEST'; 
    $data['subtitle'] = 'Test Vista Campus'; 
    $data['body'] = 'busqueda_electricidad_campus_c'; 
    $this->load->view('main', $data); 


} 

如果我尝试做 “示例” 的方式,它可以不显示东西...

“最后... View/JScript:

<script type="text/javascript" charset="utf-8"> 
      $(document).ready(function() { 
      //$(function() { 
      $('#Campusini').dataTable({ 


       //"order": [[ 1, "asc" ]], 

       /*"aoColumnDefs": [ 
        { 'bSortable': false, 'aTargets': [ 3 ]}, 
        { 'bSearchable': true } 
       ],*/ 
       "Processing": true, 
       "ServerSide": true, 
       "sAjaxSource": '<?php echo site_url(); ?>consumo_electricidad/campus_buscar3', 
       "bJQueryUI": true, 
       "sPaginationType": "full_numbers", 
       "iDisplayStart ":20, 
       "oLanguage": { 
       "sProcessing": "" 
       }, 

       "aoColumns": [ 
         { "bSearchable": true, "bSortable": true, "mData": "YearFin" }, 
         { "bSearchable": true, "bSortable": true, "mData": "SumatoriaConsumoEnergia" }, 
         { "bSearchable": true, "bSortable": true, "mData": "SumatoriaCostoEnergia" }, 
         { "bSearchable": true, "bSortable": true, "mData": "Campus" } 
       ], 

       'fnServerData': function(sSource, aoData, fnCallback) 

       { 
        $.ajax 
        ({ 
         'dataType': 'json', 
         'type' : 'POST', 
         'url'  : sSource, 
         'data' : aoData, 
         'success' : fnCallback 
        }); 
       } 
      }); 
     }); 
</script> 




    <table id= "Campusini" class = "table table-bordered datatable table-striped"> 
     <thead> 
      <tr> 

      <th> Año </th> 
      <th> Consumo Total </th> 
      <th> Costo Total </th> 
      <th> Campus </th> 
      </tr> 
     </thead> 
     </table> 

With no results at all...。 所以任何帮助这个混乱很受欢迎。提前致谢。

回答

0

很难回答所有......但我可能看到的错误:

在调用该函数

$这个 - > modelo_consumo_energia-> lista_campus控制器();

但是没有分配任何变量......所以没有结果。

我建议去调试简单的事情,看在哪个部位,代码不能正常工作,因为我想你刚才写这些东西,然后它是不可能知道发生了什么。

您正在使用MVC,拿那个!似乎是模型的作品,现在试图验证控制器和视图工作太写了简单的代码,像回声的东西...