【问题标题】:Ignited-Datatables, how should be done?Ignited-Datatables,应该怎么做?
【发布时间】:2016-12-02 02:06:30
【问题描述】:

老实说,我对代码的运行情况一无所知,我一直在做这些事情,一直在阅读这个和那个,但没有任何结果。我仍然是编程的新手。主要问题是 Ignited-Datatable 2.0 beta 和 Datatables 1.10.12 我使用的是 MVC 模式,我已经看到了 CV 模式。

这是我尝试以 Ignited 样式进行的 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

它可以工作,但需要以 Datatables 方式排序。并尝试类似Stack Example,但没有结果。

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

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...。 因此,任何解决这个问题的帮助都会受到好评。提前致谢。

【问题讨论】:

    标签: jquery mysql codeigniter datatables


    【解决方案1】:

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

    在控制器中调用函数

    $this->modelo_consumo_energia->lista_campus();

    但是没有在任何变量中赋值...所以没有结果。

    我建议去调试简单的东西,看看哪一部分代码不起作用,因为我想你只是写了所有这些东西,然后不可能知道发生了什么。

    您正在使用 MVC,接受吧!看起来模型可以工作,现在尝试验证控制器和视图是否也可以编写简单的代码,例如回显某些东西......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 2018-01-16
      • 2012-11-21
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多