Mebuat halaman dengan php

metwot

New member
haloo semuanya, kali ini saya akan menunjukkan bagaimana 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->

dan halaman tersebut contentnya di ambil dari database MySql, selain itu kita juga bisa menentukan berapa item yang akan kita tampilkan per-halaman. Menarik bukan???:)
nah ini deskripsinya:

untuk koneksi database:

------
<?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");
?>

membuat tabel database (ini haya 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 ;
-----

Deskripsi Scriptnya:

--------------------------
<?php

/* memasukan 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);

/* menampilkan 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 dari table database mu */
?>
<?php echo $row[2] ?><br>
<?php echo $row[3] ?></a><br />
<?php echo $row[1] ?> | Halaman Ini dibaca <?php echo $row[6] ?> kali<br />
<?php echo $row[4]; ?>

<hr>
<?php
}
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM $table"),0);
$total_pages = ceil($total_results / $max_results);

/* membuat jumlah hiperlink halaman*/

echo "<center>Select a Page<br />";

/* membuat Previous link */

if($hal > 1){
$prev = ($page - 1);
echo "<a href=$_SERVER[PHP_SELF]?hal=$prev> <-Previous </a> ";
}
for($i = 1; $i <= $total_pages; $i++){
if(($hal) == $i){
echo "$i ";
} else {
echo "<a href=$_SERVER[PHP_SELF]?hal=$i>$i</a> ";
}
}

/* membuat Next link */

if($hal < $total_pages){
$next = ($page + 1);
echo "<a href=$_SERVER[PHP_SELF]?hal=$next>Next-></a>";
}
echo "</center>";
?>
----------------

untuk lebih jelas codenya tinggal copy-paste aja :
-----------------------
<?php
include 'db.php';
$table = content;
$hal = $_GET[hal];
if(!isset($_GET['hal'])){
$page = 1;
} else {
$page = $_GET['hal'];
}
$max_results = 5;
$from = (($page * $max_results) - $max_results);
$sql = mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT $from, $max_results ");
while($row = mysql_fetch_array($sql)){
?>
<?php echo $row[2] ?><br>
<?php echo $row[3] ?></a><br />
<?php echo $row[1] ?> | Halaman Ini dibaca <?php echo $row[6] ?> kali<br />
<?php
echo $row[4];
?>
<hr>
<?php
}
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM $table"),0);
$total_pages = ceil($total_results / $max_results);
echo "<center>Select a Page<br />";
if($hal > 1){
$prev = ($page - 1);
echo "<a href=$_SERVER[PHP_SELF]?hal=$prev> <-Previous </a> ";
}
for($i = 1; $i <= $total_pages; $i++){
if(($hal) == $i){
echo "$i ";
} else {
echo "<a href=$_SERVER[PHP_SELF]?hal=$i>$i</a> ";
}
}
// Build Next Link
if($hal < $total_pages){
$next = ($page + 1);
echo "<a href=$_SERVER[PHP_SELF]?hal=$next>Next-></a>";
}
echo "</center>";
?>
-----------------------
nah kayaknya cukup dech...

ini referensi dari luar negri Saya modifikasi agar lebih mudah dipahami dan di implementasikan oleh teman-teman semua.>8|
jika ada pertanyaan tulis comment di bawah ini.met mencoba yach :wink:
 
Back
Top