Получить данные из базы данных, используя ajax - PullRequest
0 голосов
/ 30 августа 2018

Я хочу получать данные из базы данных, используя ajax. Данные будут выбраны, выбрав опцию раскрывающегося списка и нажмите кнопку поиска, и данные появятся в таблице. Я написал правильный запрос, и он работает очень хорошо. Все, что я хочу, это просто показать данные из базы данных в таблицу с помощью ajax. Я читал учебники и вопросы в Stackoverflow, но до сих пор не нашел решения. Вот пример интерфейса: user interface

Вот мой контроллер:

function getDataExcelKK() {
    $station = $this->input->get('station'); 

    $data = $this->M_dbstatmanagement->getDataExcelKK($station);
    $this->load->view('v_lhastat_admin', $data);
}

Модель:

function getDataExcelKK($station) {
    $this->db->select("F.NAMA_FILE AS NAMA_FILE, DATE_FORMAT(F.TANGGAL_UPLOAD, '%d-%m-%Y %H:%i:%s') AS TANGGAL_UPLOAD");
    $this->db->from("fileupload F");
    $this->db->join("user U", "F.ID_USER = U.ID_USER");
    $this->db->where("U.DOMISILI", $station); 
    $this->db->order_by("F.TANGGAL_UPLOAD DESC");

    $query = $this->db->get();
    return $query->result_array();
}

Вид (таблица):

<table class="table table-striped table-bordered table-hover table-condensed table-checkable order-column" id="lhaStatAdmin">
                    <thead>
                        <tr>
                            <th width="10%">No.</th>
                            <th width="10%">File Name</th>
                            <th width="10%">Upload Date</th>
                        </tr>
                    </thead>
                    <tbody id="isi-data">
                        <?php 
                        $no = 1;
                        $i = 0;
                        foreach($getExcelFromKK as $key => $row) {?>
                            <tr>
                                <td><?php echo $no++;?></td>
                                <td><?php echo $row['NAMA_FILE'];?></td>
                                <td><?php echo $row['TANGGAL_UPLOAD'];?></td>
                            </tr>
                        <?php } ?>

                    </tbody>
                </table>

А вот и мой аякс:

    $('#button-search').on('click', function() {
    var station = $('#stationChoose').val();

    $.ajax({
        async       : true,
        type        : 'GET',
        url         : '<?php echo base_url();?>sms/getDataExcelKK', 
        data        : {"station": station},
        success     : 
            function(data) {
                $('#isi-data').html(data);

            }
    });
});

ОБНОВЛЕНИЕ: вместо того, чтобы извлекать данные в таблицу, я нажимаю на таблицу внутри таблицы, когда нажимаю кнопку «Поиск». user interface double table

Ответы [ 5 ]

0 голосов
/ 31 августа 2018

Попробуйте установить асинхронное значение в ложь.

$.ajax({
    async       : false,
    type        : 'GET',
    url         : "<?php echo base_url();?>sms/getDataExcelKK", 
    data        : {"station": station},
    success     : 
        function(data) {
            $('#isi-data').html(data);

        }
});
0 голосов
/ 30 августа 2018

можно ли загрузить полную таблицу в другом представлении (ex.'table.php ') и добавить это представление, заменив предыдущую полную таблицу (можно применить datatable в table.php), после этого для каждой строки таблицы становятся кликабельными чтобы открыть модал, каждый tr становится <tr onclick="action(3)">.

  script:
  function action(argument) {
            // body...
            alert(argument);
        }  
0 голосов
/ 30 августа 2018

попробуйте тех, кто в вашем успехе в ajax

var preparedString = '';
for(var i=0;i<data.length;i++){
   var preparedString += '<tr>'+
                        '<td>'+(i+1)+'</td>'+
                        '<td>'+data[i].NAMA_FILE+'</td>'+
                        '<td>'+data[i].TANGGAL_UPLOAD+'</td>'+
                        '</tr>'
}
$('#isi-data').append(preparedString);

так ваш ajax должен выглядеть так

$('#button-search').on('click', function() {
var station = $('#stationChoose').val();

$.ajax({
    async       : true,
    type        : 'GET',
    url         : '<?php echo base_url();?>sms/getDataExcelKK', 
    data        : {"station": station},
    success     : 
        function(data) {
            var preparedString = '';
            for(var i=0;i<data.length;i++){
                var preparedString += '<tr>'+
                        '<td>'+(i+1)+'</td>'+
                        '<td>'+data[i].NAMA_FILE+'</td>'+
                        '<td>'+data[i].TANGGAL_UPLOAD+'</td>'+
                        '</tr>'
            }
            $('#isi-data').append(preparedString);
        }
});

});

0 голосов
/ 30 августа 2018

вы создаете HTML из ваших данных и добавляете его (как @Ivan Tabaka sed), или вы создаете HTML в PHP и добавляете его в HTML

0 голосов
/ 30 августа 2018

Попробуйте, держите URL в двойных кавычках.

$('#button-search').on('click', function() {
    var station = $('#stationChoose').val();

    $.ajax({
        async       : true,
        type        : 'GET',
        url         : "<?php echo base_url();?>sms/getDataExcelKK", 
        data        : {"station": station},
        success     : 
            function(data) {
                $('#isi-data').html(data);

            }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...