2017-04-26 92 views
0

我是codeigniter中的新成員,我一直試圖以數據庫的形式顯示ul列表中的數據。這很容易完成使用PHP,但我想顯示相同的使用Ajax來減少加載時間。我嘗試了一些方法,但無法顯示數據。我真的需要這方面的幫助,將不勝感激。提前致謝。通過ajax在codeigniter中顯示數據庫數據

控制器:

function user() 
    { 
     $this->data['list'] = $this->mobiles_model->get_status(); 
     $this->_render_page('user', $this->data);    
    } 

模型:

function get_status() 
    {  
     $sql = "select * from(SELECT * FROM my_user_view ) as t group by imei ORDER BY dattim ASC ";    
     $query = $this->db->query($sql, array($uid,$value)); 
     $result = $query->result(); 
     return $result; 
    } 

視圖:

<ul class="sidebar-menu" id="nav-accordion"> 
     <?php 
     for ($i = 0; $i < count($deptlist); ++$i) 
     { 
      $time = $deptlist[$i]->dattim; 
      $sdate=date("d-m-Y H:i:s",strtotime($deptlist[$i]->dattim)); 
      $dateFromDatabase = strtotime($time); 
      $dateFiveMinuteAgo = strtotime("-5 minutes"); 
      if ($dateFromDatabase >= $dateFiveMinuteAgo) 
      { 
      ?> 
     <li> 
      <button value="<?php echo $deptlist[$i]->imei ?>" class="btn-success"><?php echo $deptlist[$i]->user;?>  
     </button>  
     </li> 
    <?php } 
    else 
    { 
    ?> 
    <li> 
    <button value="<?php echo $deptlist[$i]->imei ?>"class="btn-danger"><?php echo $deptlist[$i]->user; ?> 
     </button> 
    </li> 
    <?php } 
     }?> 
</ul> 

顯示的數據使用PHP,但我想顯示的使用AJAX相同。 再次感謝。

+1

哪裏是你的'阿賈克斯()'代碼示例? –

+0

試試這個:http://stackoverflow.com/questions/16707648/using-jquery-ajax-to-retrieve-data-from-mysql – xcution

+0

不能在codeigniter中工作。我嘗試了一些ajax代碼,但它不與codeigniter一起工作,我不熟悉ajax,所以我需要幫助 – Rahul

回答

0

工作示例

到輸出視圖部分

public function index(){ 
    if($this->session->userdata('is_logged_in')){ 
     $this->load->view('../template/header'); 
     $this->load->view('manufacturer'); 
     $this->load->view('../template/footer'); 
    } else { 
     redirect('main/restricted'); 
    } 
} 

我的控制器名稱制造商/方法是manufacturer_list

public function manufacturer_list() 
{ 

    $result = array('data' => array()); 

    $data = $this->manufacturer_model->fetchManufacturerData(); 
    foreach ($data as $key => $value) { 

     //i assigned $buttons variable to hold my edit and delete btn to pass in my array. 
     $buttons = ' 
     <button class="btn btn-primary" onclick="editData('.$value->id.')" data-toggle="modal" data-target="#myModal">Edit</button> 
     <button class="btn btn-danger" onclick="deleteData('.$value->id.')" data-toggle="modal" data-target="#deleteModal">Delete</button> 
     '; 

     $result['data'][$key] = array(
      $value->id, 
      $value->brand, 
      $buttons 
     ); 
    } 
    echo json_encode($result);  
} 

我的AJAX

showRecords(); 
function showRecords(){ 
    $.ajax({ 
     url: 'manufacturer/manufacturer_list', //controller/method 
     type: 'POST', 
     dataType: 'json', 
     success: function(data){ 
      var html = ''; 
      for(i=0; i<data.length; i++){ 
       html += '<tr align="center">'+ 
          '<td>'+data[i].id+'</td>'+ 
          '<td>'+data[i].brand+'</td>'+ 
          '<td>'+'<button class="btn btn-primary edit-data" data="'+data[i].id+'">Edit</button>'+'&nbsp;'+ 
          '<button class="btn btn-danger delete-data" data="'+data[i].id+'">Delete</button>'+'</td>'+ 
         '</tr>'; 
      } 
      $("#showdata").html(html); //pass the data to your tbody 
     }, 
     error: function(){ 
      alert('Could not load the data'); 
     } 
    }); 
} 

HTML視圖部分是這樣的(在控制器manufacturer.php從指數法)

<table> 
    <thead> 
     <tr> 
      <th>ID</th> 
      <th>Manufacturer</th> 
      <th>Actions</th> 
     </tr> 
    </thead> 
    <tbody id="showdata"> 

    </tbody> 
</table> 

希望你的想法

+0

視圖不顯示,控制器本身回顯結果。 – Rahul

+0

編輯。視圖與ajax數據分開 –

+0

非常感謝,工作正常。謝謝 – Rahul

相關問題