Membuat PAGE 1 2 3

Posted by ilmu-web / Category:




Hai selamat pagi semuanya, kali ini saya akan menunjukkan bagai mana cara membuat halaman bertingkat dalam sebuah website yang content nya di generate dari database.

Jika anda memiliki "Dinamic Website" yang besar dan memiliki ribuan item /product anda pasti kesulitan untuk menampilkan item tersebut satu persatu secara beraturan, otomatis dan terkendali.

Solusinya adalah anda bisa memakai halaman.

<-Previous 1 2 3 Next->

Halaman tersebut contentnya di ambil dari database MySql, selain itu kita juga bisa menentukan berapa item yang akan kita tampilkan per-halaman. Menarik bukan???


Tabel database yang saya gunakan (ini hanya contoh):
-----
CREATE TABLE `content` (
`id` int(225) NOT NULL auto_increment,
`judul` varchar(50) collate latin1_general_ci NOT NULL default '',
`isi` longtext collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ;

-----

Koneksi db.php:
------

$dbhost = 'localhost';
$dbusername = 'user_kamu';
$dbpasswd = 'pass_kamu';
$database_name = 'database_kamu';
#under here, don't touch!

@$connection = mysql_pconnect("$dbhost","$dbusername","$dbpasswd") or die
("MySql Putus tidak bisa connect ke server");
@$db = mysql_select_db("$database_name", $connection) or die("Database tidak ditemukan");
?>


Deskripsi Script:
--------------------------

/* ini kita include koneksi database */
include 'db.php';

/* tentukan table nya */
$table = content;

$hal = $_GET[hal];

/* jika page default nya 1 */
if(!isset($_GET['hal'])){
$page = 1;
} else {
$page = $_GET['hal'];
}

/* tentukan jumlah item per halaman */
$max_results = 5;

/* halaman di kali MAX jumlah item per halaman dikurangi MAX jumlah item per halaman */
/* logika: 1 x 5 = 5 , 5 - 5 = 0 , jadi id database dimulai dari 0*/
$from = (($page * $max_results) - $max_results);

/* tampilkan dari databse, LIMIT dari contuh diatas id dari 0 sampai 5 */
$sql = mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT $from, $max_results ");
while($row = mysql_fetch_array($sql)){

/* display result, ini tergantung table database mu */
?>
echo $row[2] ?>

echo $row[3] ?>

echo $row[1] ?> | Halaman Ini dibaca echo $row[6] ?> kali

echo $row[4]; ?>



}
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM $table"),0);

$total_pages = ceil($total_results / $max_results);

/* bangun jumlah hiperlink halaman*/
echo "

Select a Page
";

/* bangun Previous link */
if($hal > 1){
$prev = ($page - 1);
echo " <-Previous ";
}

for($i = 1; $i <= $total_pages; $i++){
if(($hal) == $i){
echo "$i ";
} else {
echo "$i ";
}
}

/* bangun Next link */
if($hal < $total_pages){
$next = ($page + 1);
echo "Next->";
}
echo "

";
?>
----------------

Referensi luar negri
Saya modifikasi supaya mudah di gunakan dan di implementasikan oleh teman-teman semua

Script ini telah di test dan jalan 100% di:
- mesin pentium III 650Mhz
- ram 256mb
- server konsol server XAMPP versi 1.5.3 Beta 5

0 comments:

Post a Comment