Tuesday 17 May 2016

Paging/Membuat Halaman Web Sederhana Menggunakan MySQL dan PHP

Gambar 1. Halaman Web

Mungkin kita sering melihat halaman web yang seperti Gambar 1 atau bahkan sudah menerapkan pada blog/website namun belum tahu bagaimana cara membuatnya. Pada tutorial kali ini akan membahas bagaimana membuat halaman web yang sederhana menggunakan MySQL dan PHP  yang nantinya bisa dimodifikasi sendiri.


1. Karena sumber data berasal dari database maka langkah pertama adalah membuat koneksi ke database. Dalam tutorial ini menggunakan
host: localhost,
user name: root,
password: kosong/""
nama database: pagingdb

source code 1 :
<?php 
  $conn = mysql_connect("localhost", "root", "");
  if ($conn) {
    //echo "Connected successfully";
    mysql_select_db("pagingdb");
 } 
  else
    echo "fail";
?>

2. Jika sudah terkoneksi dengan database langkah selanjutnya menginisialisasi jumlah baris dalam satu tabel ($jumlahBarisPertabel) dan halaman yang pertama kali dibuka ($halamanke). Kita juga membuat kode untuk menerima nilai halaman yang dibuka ( $_GET['halamanke'] ), yang akan berguna pada saat nanti user memilih nomor halaman.
source code 2.
<?php
  $jumlahBarisPertabel=5;
  $halamanke=1;
  if(isset($_GET['halamanke'])) // untuk mengecek apakah ada nilai yang diberikan 
  $halamanke=$_GET['halamanke'];
?>


3. Untuk mendapatkan data dari database kita mengunakan query  "SELECT * FROM namaTabel LIMIT $barispertama$jumlahBarisPertabel". Variabel $jumlahBarisPertabel berguna untuk menentukan jumlah baris yang diambil, baris pertamanya ditentukan  dari nilai variabel $barispertama,

source code 3.

<?php
  $barispertama=($halamanke-1)*$jumlahBarisPertabel;
  $sql="SELECT * ". 
            "FROM anggotatim ".
            "LIMIT $barispertama, $jumlahBarisPertabel";
  $retval = mysql_query($sql , $conn );
?>

4. Setelah kita mendapatkan data yang diinginkan kemudian kita susun data tadi menjadi tabel (seperti yang dieksekusi pada source code 4).
source code 4:
<?php
    echo"<table>";
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
           echo"<tr>
                <td>".$row['Nama']."</td>
                <td>".$row['Nomor']."</td>
                </tr>";       
         }
    echo  " </table>";
?>

5. Untuk menampilkan nomor halaman dan membuka halaman tersebut kita perlu mengetahui jumlah dari seluruh baris yang ada dalam tabel yang ada. Kemudian kita susun informasi tadi menjadi nomor halaman seperti pada source code 5.
ceil() berguna untuk membulatkan bilangan desimal ke atas.

source code 5:
<?php
  $sql="SELECT * ". 
            "FROM anggotatim "; //Query untuk mendapatkan seluruh data
             $retval = mysql_query($sql , $conn );
 $num_rows = mysql_num_rows( $retval);// menghitung jumlah baris data

 for($i=1;$i<=ceil($num_rows/$jumlahBarisPertabel);$i++){ //menyusun nomor halaman
  echo"<a href='pagingsederhana.php?halamanke=".$i."'>".$i."</a> ";
 }
?>

6. Semua source code tadi dijadikan satu pada source code 6 dengan nama pagingsederhana.php. Jika di-run hasil nya seperti Gambar 2.

source code 6:
<?php
$conn = mysql_connect("localhost", "root", "");
if ($conn) {
//echo "Connected successfully";
mysql_select_db("pagingdb");
} 
else
echo "fail";


  $jumlahBarisPertabel=5;
  $halamanke=1;
  if(isset($_GET['halamanke']))
  $halamanke=$_GET['halamanke'];

  $barispertama=($halamanke-1)*$jumlahBarisPertabel;
  $sql="SELECT * ". 
            "FROM anggotatim ".
            "LIMIT $barispertama, $jumlahBarisPertabel";
  $retval = mysql_query($sql , $conn );

    echo"<table>";
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
           echo"<tr>
                <td>".$row['Nama']."</td>
                <td>".$row['Nomor']."</td>
                </tr>";       
         }
    echo  " </table>";

  $sql="SELECT * ". 
            "FROM anggotatim ";
             $retval = mysql_query($sql , $conn );
 $num_rows = mysql_num_rows( $retval);

 for($i=1;$i<=ceil($num_rows/$jumlahBarisPertabel);$i++){
  echo"<a href='pagingsederhana.php?halamanke=".$i."'>".$i."</a> ";
 }
?>

Gambar 2. Hasil dari source code  6

Artikel Terkait PHP ,Query SQL

1 comment: