Untuk menampilkan data mungkin relatif mudah dalam pemrograman PHP, tidak banyak statement yang harus dikeluarkan. Namun akan berdampak kurang baik, bila data yang harus ditampilkan sangat banyak, akan menyebabkan load dari server database akan semakin besar/lama dan tampilan jadi lambat karena panjangnya data yang harus ditampilkan. Untuk mengatasi hal ini dapat diatasi dengan sistem batching.

Rencanakan Sistem

Sebelum kita masuki tahap pembuatan program, sebaiknya kita rencanakan dulu sistem yang akan kita terapkan pada program sehingga kita akan mengerti jalan program yang akan dibuat.

  1. Tentukan jumlah data yang akan ditampilkan dalam 1 halaman, misal: 20 data per halaman.
  2. Ketahui total data yang akan ditampilkan sehingga dapat diketahui jumlah halaman yang akan terbuat, misal: 2000 data, maka halaman yang akan terbuat adalah: 2.000 data / 20 data / halaman = 100 halaman.
  3. Lakukan query per halaman dengan menentukan argumen LIMIT [mulai],[jumlah halaman]. Variabel [mulai] akan menentukan data ke-sekian yang akan diambil sebanyak [jumlah halaman]. Sehingga query terhadap database akan relatif lebih ringan.
  4. Tampilkan data dari hasil query.
  5. Buat nomer halaman 1 sampai 100 bila jumlah halaman sampai dengan 100, namun bila dianggap terlalu banyak dapat menggunakan kolom isian supaya user dapat menuju ke halaman tertentu dengan cara memasukkan angka tertentu (1-100). Tapi ingat, buat pesan error bila user tidak memasukkan angka yang benar (selain angka 1 - 100) atau bahkan memasukkan string selain angka.

Implementasikan Sistem ke Dalam Program

Tentukan variabel jumlah data per halaman:$batch = 20;Lakukan koneksi ke database:mysql_connect(”localhost”,”user”,”password”) or die(”Gagal melakukan koneksi”);
mysql_select_db(”db”) or die(”Gagal seleksi database”);Ketahui jumlah data dan dapatkan nilai jumlah halaman yang akan terbuat:$perintah1 = “select * from tabel_a”;
$kueri1 = mysql_query($perintah1);
$jumlah_data = mysql_affected_rows();
$jumlah_halaman = ceil($jumlah_data/$batch);
if(! $_GET[’halaman’]) $_GET[’halaman’] = 1;Tentukan data-data pada halaman pertama dan halaman lainnya per halaman:$mulai = ($_GET[’halaman’] - 1) * $batch;
$perintah2 = $perintah1 . ” LIMIT $mulai,$batch”;
$kueri2 = mysql_query($perintah2);
if(! mysql_affected_rows()) die(”Tidak ada data”);Tampilkan data:
while( $data = mysql_fetch_array($kueri2))
{
print “{$data[’field_pertama’]}\n”;
print “{$data[’field_kedua’]}\n”;
}Membuat nomor halaman:

$skrip = $_SERVER[’SCRIPT_NAME’] . “?” . str_replace(”pG={$_GET[’halaman’]}”,””,$_SERVER[’QUERY_STRING’]);
for($i=1;$i<=$jumlah_halaman;$i++)
{
if($_GET[’halaman’] != $i)
{
print “[a xhref="http://webbiru.com/[skrip]&halaman=$i" mce_href="http://webbiru.com/[skrip]&halaman=$i" ] $i [/a] \n”;
} else {
print “[ $i ]\n”;
}
}

Tags: Free Php Nuke Theme, Php Profile Public Scheduled Task, Html Head Title Error The Requested Url Could Not Be Retrieved, Communication Data Networking, Business Communication Data Networking