繁体   English   中英

通过ajax将数据库数据显示为codeigniter中的列表

[英]display database data as list in codeigniter through ajax

我是Codeigniter的新手,我一直试图以按钮形式将数据库中的数据显示为ul列表。 使用php很容易完成,但是我想使用ajax显示相同的内容以减少加载时间。 我尝试了一些方法,但无法显示数据。 我真的需要帮助,我们将不胜感激。 提前致谢。

控制器:

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显示相同的数据。 再次感谢。

工作实例

输出视图部分

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');
    }
}

我的控制器名称是制造商/方法是制造商列表

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);      
}

我的阿贾克斯

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视图部分是这样的(来自控制器中index方法的manufacturer.php)

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

    </tbody>
</table>

希望你明白

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM