0

我希望你能帮助我。我的问题是我想在我的数据表插件中加载总计 50000 行的大量数据,但我不知道如何将它与 CodeIgniter 框架合并。这是我的示例数据。

在我的控制器中,我创建了一个这样的函数,出于测试目的,我没有将它放入我的模型中。

public function displayListItem(){
   $sqlSelectAll = "select * from items";
   $resultSelectAll = $this->db->query($sqlSelectAll);
   echo json_encode($resultSelectAll->row_array());
}

接下来是我调用 SQL 的视图:

  <!-- jquery part -->
  <script type="text/javascript">
    $(document).ready(function() {
        $('#example').dataTable( {
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "<?php echo site_url("item_controller/displayListItem"); ?>"
        } );
    } );

下面是我的表,它将从 mysql 数据库中填充我的数据

 <table id="example">
                    <thead>
                          <tr>
                            <th></th>
                            <th>CODE</th>
                            <th>NAME</th>
                            <th>DESCRIPTION</th>
                                 <th>BRAND</th>
                            <th>UNIT</th>
                            <th>CATEGORY NAME</th>
                            <th>ENTRY DATE</th>
                            <th>ACTION</th>
                          </tr>
                    </thead> 
                    <tbody>
                       <!-- THIS IS THE PART WHERE I NEED TO PUT THE DATA, BUT I DON'T KNOW HOW --> 

                    </tbody>
                 </table>

这就是所有的人,我希望你能帮助我。谢谢

4

1 回答 1

1

首先将 media 文件夹保存在 codeigniter 项目文件夹中。media 文件夹是包含 js、图像和 css 文件的数据表所需的文件夹。在 codeigniter config.php 中设置你的 base_url。在 codeigniter database.php 中设置你的数据库。设置你的 url 助手 $autoload['helper'] = array('url'); 在 autoload.php 中。

这是我的控制器。

  <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

  class Welcome extends CI_Controller 
 {


     public function index()
    {

    $this->load->model('cmodel');
    $data['d']=$this->cmodel->get_result();
    $this->load->view('welcome_message.php',$data);//$data is an array which is sent to view
    }
 }

$data['d'] 包含从模型返回的数组,该数组被发送到视图

这是我的模型。

  <?php

   class Cmodel extends CI_Model 
   {
         function __construct()
         {
            parent::__construct();
         }

        function get_result()
        {
          $query=$this->db->query("your custom query;");
          return $query->result_array();//return the result_array to the controller.
        }
    }

    ?>

这是视图

 <!DOCTYPE html>
 <html lang="en">
    <head>
    <meta charset="utf-8">
     <title> CodeIgniter</title>

        <style>
            *{
                font-family: arial;
             }
            </style>

           <style type="text/css">
                  @import "<?php echo base_url();?>media/css/demo_table_jui.css";
                  @import "<?php echo base_url();?>media/themes/smoothness/jquery-ui-1.8.4.custom.css";
                </style>

          <script src="<?php echo base_url();?>media/js/jquery.js" type="text/javascript"></script>
            <script src="<?php echo base_url();?>media/js/jquery.dataTables.js" type="text/javascript"></script>

      <script type="text/javascript" charset="utf-8">
                    $(document).ready(function(){
          $('#datatables.dataTables_filter input').focus()
                    $('#datatables').dataTable({
                      "sPaginationType":"full_numbers",
                      "aaSorting":[[2, "desc"]],
                          "bJQueryUI":true

                    });
                 })

               </script>
 </head>
 <body>
      <div>
           <table id="datatables" class="display">
             <thead>
               <tr>
               <th>id</th> <!-- These are the table heading-->
               <th>name</th>
               <th>order</th>         
                    </tr>
         </thead>
            <?php foreach($d as $row):?><!--This is how you access the fields  -->
             <tr>
             <td>
                <?php echo $row['id'];?>
            </td>
            <td>
                <?php echo $row['name'];?> <!-- here id,name,order are my column names-->
            </td>
             <td>
                <?php echo $row['order'];?>
            </td>
             </tr>
         <?php endforeach?>
     </table>
     </div>
      </body>
 </html>

这将完美地工作。请投票

于 2013-09-09T14:00:43.893 回答