serverside datatable with PHP + ORACLE

saya kesulitan ketika ingin menampilkan data dengan jumlah banyak lebih dari 1jt data ke dalam datatable (dari oracle), jika saya paksakan untuk menampilkan data tersebut tanpa (serverside) mungkin browser akan menload dengan estimasi kisaran 3-4menit.. karena ada serverside memungkinkan hanya akan ditampilkan data pada page yg sedang aktif (1-3 detik)..

saya menemukan versi serverside php+sql di link berikut : <a href='https://www.phpflow.com/php/datatable-pagination-sorting-and-search-server-side-phpmysql-using-ajax/'>https://www.phpflow.com/php/datatable-pagination-sorting-and-search-server-side-phpmysql-using-ajax/</a>

dan saya coba edit versi saya dengan memakai oracle : - php 5.2 - wamp 2.0 - oracle client 11g - oci8 - datatable 1.10

jika melihat link diatas, saya kesulitan di LIMIT, karena di oracle tidak ada limit, jadi data muncul hanya page 1 , saat pindah ke page 2, data tidak terbaca.. bagaimana solusinya ?

index.php

 <div class="container">
    <div class="">
        <br>
        <div class="">
            <table id="employee_grid" class="display" width="100%" cellspacing="0">
                <thead>
                    <tr>
                        <th>PAYMENTCODE</th>
                        <th>TRXID</th>
                        <th>TRXNAME</th>
                    </tr>
                </thead>
                <tfoot>
                    <tr>
                        <th>PAYMENTCODE</th>
                        <th>TRXID</th>
                        <th>TRXNAME</th>
                    </tr>
                </tfoot>
            </table>
        </div>
    </div>
</div>

<script type="text/javascript">
    $( document ).ready(function() {
        $('#employee_grid').DataTable({
            "bProcessing": true,
            "serverSide": true,
            "scrollX": true,
            "pageLength": 100,
            "scrollY": "400px",
            "scrollCollapse": true,
            "ajax":{
                url :"response.php", // json datasource
                type: "post",  // type of method  ,GET/POST/DELETE
                error: function(){
                  $("#employee_grid_processing").css("display","none");
                }
            }
        });
    });
</script>

response.php

 <?php
function koneksi_oracle()
{
    $conn = oci_connect('WEBR', 'REPORT', 'db');
    if (!$conn)
    {
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }
    return $conn;
}

$conn = koneksi_oracle();
$params = $columns = $totalRecords = $data = array();
$params = $_REQUEST;

$columns = array(
    0 => 'PAYMENTCODE',
    1 => 'TRXID',
    2 => 'TRXNAME'
);

$sql = "SELECT count(*) as c FROM db.trx WHERE trxdate = to_date('2018-05-02','yyyy-mm-dd')";

$query=ociparse($conn, $sql);
ociexecute($query);
oci_fetch_all($query, $result);
$numrows = $result['C'][0];
$totalRecords = $numrows;

$sql2 = "SELECT * FROM  db.trx WHERE trxdate = to_date('2018-05-02','yyyy-mm-dd') AND rownum BETWEEN ".$params['start']." AND ".$params['length']."";

$query2=ociparse($conn, $sql2);
ociexecute($query2);

while($row=oci_fetch_array($query2))
{
    $data[] = $row;

}
    $json_data = array(
            "draw"            => intval($params['draw']),
            "recordsTotal"    => intval($totalRecords),
            "recordsFiltered" => intval($totalRecords),
            "data"            => $data   // total data array
            );

    echo json_encode($json_data);  // send data as json format
?>

hasilnya :

saat pindah ke halaman 2, data tidak muncul:

sepertinya salahnya ada disini :

 $sql2 = "SELECT * FROM  db.trx WHERE trxdate = to_date('2018-05-02','yyyy-mm-dd') AND rownum BETWEEN ".$params['start']." AND ".$params['length']."";
avatar inginbelajar
@inginbelajar

95 Kontribusi 21 Poin

Diperbarui 3 tahun yang lalu

2 Jawaban:

Could you solve this problem ?

avatar Ptewari200
@Ptewari200

1 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

<div>apakah anda berhasil menemukan solusinya? Karena saya sedang menghadapi masalah yang sama</div>

avatar awalmlna
@awalmlna

2 Kontribusi 0 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban