Anda di halaman 1dari 38

Membuat link read more pada daftar artikel dengan PHP mysql

Ajax Aplikasi PHP CodeIgniter Ebook PHP MySQL PHP PHP MySQL Source Code Tips PHP Tutorial PHP

Home / Tips PHP / Membuat link read more pada daftar artikel dengan PHP mysql

Membuat link read more pada daftar artikel dengan PHP mysql
Di Tulis Oleh : Ivan Silalahi 3 komentar

Pada artikel membuatposting artikel seperti blogspot dengan php mysql sebelumnya, kita belajar untuk membuat posting ala blogspot dengan menggunakan php dan mysql. Pada artikel tersebut ada satu kelemahan, yaitu ketika kita membuka halaman index, maka akan ditampilkan seluruh isi artikel yang sudah kita posting. Kalau artikel yang kita tulis sedikit sih tidak masalah, tetapi bagaimana kalau banyak dan isinya pun panjang. Ini berpengaruh pada performa server dan juga loading time dari halaman tersebut. Oleh karena solusi yang didapat adalah membuat halaman index tersebut seminimalis mungkin, yaitu dengan hanya menampilkan sedikit kata atau kalimat saja dihalaman index tersebut dan memberikan sebuah link untuk menampilkan seluruh isi artikel yang ingin dilihat oleh user. Kalau pada blogspot atau CMS yang lain hal ini sangatlah mudah dicapai, kita cukup membuat posting tersebut dan theme blogspot kita lah yang akan menanganinya nanti. Tetapi bagaimana kalau kita ingin membuat seperti itu dengan menggunakan PHP dan mysql? Prinsipnya adalah memberikan suatu tanda pada bagian mana artikel kita akan dipotong. misalkan hanya pada paragraf pertama, hanya setelah beberapa kata atau kalimat, ataupun kita bisa memberikan sebuah penanda dibagian mana artikel kita nanti dipotong. Pada tutorial kita sekarang kita akan membuatnya dengan menggunakan fungsi yang tersedia pada PHP itu sendiri, yaitu fungsi susbtr dan fungsi explode.

Contoh penggunaan fungsi substr :


<?php //kalimat yang akan dipotong $kalimat = "Pada hari minggu aku, ikut ayah ke kota"; $output echo $output; ?> = substr( $kalimat , 0 , 16 );

dari kode tersebut didapatkan suatu output Pada hari minggu Aturan yang digunakan adalah substr( note_1 , note_2 , note_3 ) dimana : 1. note_1 adalah kata / kalimat / paragraf yang akan kita potong 2. note_2 adalah posisi awal dimulainya kata / kalimat / paragraf yang akan kita potong 3. note_3 adalah posisi akhir dari kata / kalimat / paragraf yang akan kita potong Contoh penggunaan fungsi explode :
<?php //kalimat yang akan dipotong $kalimat = "Pada hari minggu, aku ikut ayah ke kota"; $output echo $output[0]; ?> = explode( "," , $kalimat );

Dari kode tersebut, maka didapatkan output Pada hari minggu Aturan yang digunakan adalah explode( note_1 , note_2 ) dimana : 1. note_1 adalah sebagai penanda pada posisi dimana kata / kalimat / paragraf tersebut dipotong nanti 2. note_2 adalah sebagai kata / kalimat / paragraf tersebut dipotong nanti

Setelah kita ketahui fungsi-fungsi tersebut, bagaimana mengimplementasikannya? Kalau rekan sudah membaca tutorial saya sebelumnya tentang membuatposting artikel seperti blogspot dengan php mysql, pada tutorial kali inipun tidak jauh berbeda. kita hanya akan merubah code dari index.php saja yang nanti digunakan untuk menampilkan daftar artikel yang isinya sudah dipotong dan terdapat sebuah link dengan tulisan readmore, dan satu lagi halaman php yang nanti akan menampilkan halaman artikel dengan isinya lengkap atau tanpa dipotong. berikut ini kodenya :
<html><head></head><body> <p><a href="form_artikel.php">Buat artikel baru</a></p><br> <?php //buat dulu koneksi kedatabase $dbhost = 'localhost'; $dbuser = 'root'; $dbpassword = 'password'; $dbname = 'nama_database'; $koneksi = mysql_connect($dbhost,$dbuser,$dbpassword); mysql_select_db($dbname,$koneksi); //buat query terlebih dahulu $query = mysql_query("SELECT * FROM artikel");

//cek apakah kita sudah memposting artikel atau belum if (mysql_num_rows($query) == 0) { //tampilkan pesan kalau artikel belum ada echo 'maaf, belum ada artikel'; } else { //buat pengulangan untuk menampilkan data artikel dengan menggunakan while dan definisikan kedalam variabel data while ($data = mysql_fetch_array($query)) { //kita akan menampilkan judul artikel echo '<p><strong>'.$data['judul_artikel'].'</strong></p>';

//tampilkan tanggal pembuatan artikel //gunakan fungsi strtotime untuk merubah bentuk date kedalam bentuk string echo '<p><em>'.date('j, F Y',strtotime($data['tgl_artikel'])).'</em></p>';

//gunakan fungsi substr, hapus 3 baris kode dibawah ini jika tidak digunakan //hanya menampilkan 200 huruf / angka dari isi artikel yang sudah kita buat $isi_artikel = substr($data['isi_artikel'],0,200); echo '<p>'.$isi_artikel.'</p>'; //gunakan fungsi explode, hapus 3 baris kode dibawah ini jika tidak digunakan //hanya menampilkan kalimat dari awal sampai dengan tanda "<!--putus--> saja $isi_artikel = explode("<!--putus->",$data['isi_artikel']); echo '<p>'.$isi_artikel[0].'</p>'; //menampilkan link untuk menampilkan isi artikel seluruhnya echo '<a href="view.php?id='.$data['id_artikel'].'>Read more</a>'; } } //tutup koneksi database mysql_close(); ?> </body></html>

pada kode diatas kalau rekan menggunakan fungsi explode, maka setiap membuat artikel rekan diharuskan menuliskan "<!--putus-->" ditiap kalimat / paragraf / kata yang ingin rekan potong nantinya. Perhatikan juga pada link "Read more", disitu ada penanda kalau link tersebut menuju view.php?id='.$data['id_artikel'] dimana link tersebut akan membuat variabel yang nanti dikirimkan dan ditangkap oleh halaman view.php yang nantinya digunakan sebagai variabel dalam query mysql didalamnya. Untuk lebih jelasnya, lihat kode berikut ini :
<html><head></head><body> <p><a href="index.php">kembali ke daftar artikel</a></p> <?php

//menangkap variabel id dari halaman index kemudian definisikan sebagai variabel id yang kemudian digunakan pada query mysql $id = $_GET['id']; //koneksi ke database $dbhost = 'localhost'; $dbuser = 'root'; $dbpassword = 'password'; $dbname = 'nama_database'; $koneksi = mysql_connect($dbhost,$dbuser,$dbpassword); mysql_select_db($dbname,$koneksi); //membuat query mysql $query = mysql_query("SELECT * FROM artikel WHERE `id_artikel` = '$id' "); //mendefinisikan hasil query kedalam variabel data $data = mysql_fetch_array($query); //kita akan menampilkan judul artikel echo '<p><strong>'.$data['judul_artikel'].'</strong></p>';

//tampilkan tanggal pembuatan artikel //gunakan fungsi strtotime untuk merubah bentuk date kedalam bentuk string echo '<p><em>'.date('j, F Y',strtotime($data['tgl_artikel'])).'</em></p>'; //menampilkan isi artikel seutuhnya echo '<p>'.$data['isi_artikel'].'</p>'; //tutup koneksi database mysql_close(); ?>

simpan dengan nama view.php dan lihat hasilnya. Cukup mengerti kan? kalau ada hal yang dirasa kurang mengerti atau kesalahan pada code yang saya jelaskan diatas, silahkan komentar saja dibawah n_n Untuk tutorial selanjutnya kita akan membuat sebuah penomoran halaman yang nantinya cuma menampilkan beberapa judul dari artikel yang kita buat nanti. Jadi kunjungi terus website saya ini untuk update selanjutnya.

Source Code
Tutorial PHP MYSQL Database Website Penjualan Online Tips Trik Source Code Cara Belajar PHP pemula lengkap Jquery yii
Jasa Pembuatan Website Murah | Jasa Pembuatan Program | Source Code PHP

Koleksi Source Code PHP - Klik Dimari Gan!

Senin, 18 Juni 2012


Cara Mengambil Karakter Tertentu Pada PHP
Untuk Mendapatkan karakter tertentu pada sebuah kata atau kalimat pada php, kita menggukan Fungsi Substr() Substr(string,mulai[,panjang]) String akan diambil atau dipotong mulai dari karakter yang terletak pada nomor yang ditunjukkan oleh parameter mulai dengan jumlah sebanyak angka yang ditunjukkan oleh parameter panjang. Contoh: $rest = substr ("abcdef", 1); // menghasilkan "bcdef" $rest = substr ("abcdef", 1, 3); // menghasilkan "bcd" Parameter mulai juga dapat diisi dengan negatif. Jika negatif, maka perhitungan dimulai dari karakter yang paling belakang. Contoh: $rest = substr ("abcdef", -1); // menghasilkan "f" $rest = substr ("abcdef", -2); // menghasilkan "ef" $rest = substr ("abcdef", -3, 1); // menghasilkan "d"

Source Code
Tutorial PHP MYSQL Database Website Penjualan Online Tips Trik Source Code Cara Belajar PHP pemula lengkap Jquery yii
Jasa Pembuatan Website Murah | Jasa Pembuatan Program | Source Code PHP Koleksi Source Code PHP - Klik Dimari Gan!

Senin, 18 Juni 2012


Cara Menggabungkan Animasi Flash Pada PHP
Untuk Memasukkan Object Animasi flash Pada PHP, Gunakan Script PHP berikut ini. Tukar Nama File Flash Pada Code Dibawah Dengan File Flash Yang Ingin Kamu Masukkan <object width="500" height="200" data="flash-file.swf" type="application/x-shockwave-flash" title="Title of this flash object"> <param name="movie" value="flash-file.swf" /> <param name="height" value="200" /> <param name="width" value="500" /> <param name="menu" value="false" /> <param name="quality" value="autohigh" /> <!-- remove the wmode if transparency is not needed -->

<param name="wmode" value="transparent" /> <em>Description of this flash object</em> </object>

Source Code
Tutorial PHP MYSQL Database Website Penjualan Online Tips Trik Source Code Cara Belajar PHP pemula lengkap Jquery yii
Jasa Pembuatan Website Murah | Jasa Pembuatan Program | Source Code PHP Koleksi Source Code PHP - Klik Dimari Gan!

Senin, 18 Juni 2012


Cara Mudah Membuat Aplikasi Upload Data Dengan PHP
Secara umum dalam PHP, keyword yang dipakai untuk membuat script untuk mengupload file adalah $_FILES[...]; dan move_uploaded_file(..); Tutorial ini adalah tutorial untuk mengupload file dengan cara paling sederhana belum dengan konfigurasi type file dan size file. Kita hanya akan mengupload file ke folder yang disediakan.Langsung saja. #1. Buatlah halaman index.php dengan script berikut :
<form action="upload.php" method="post" enctype="multipart/form-data"> <input name="dokumen" type="file" id="dokumen" /> <input type="submit" name="upload" id="upload" value="Upload" /> </form>

Perhatikan script di atas, pada sintaks form terdapat action=upload.php itu berarti memprosesan pre, dan uploading-nya akan ditujukan pada file upload.php. enctype=multipart/form-data adalah sebagai pernyataan bahwa data tersebut berupa file (bisa file audio, video, teks, gambar, dll). Sedangkan name=dokumen digunakan untuk memberi nama file field yang nantinya digunakan untuk memproses data. File field secara sederhana dapat diartikan sebagai kotak untuk memasukan file.

Source Code
Tutorial PHP MYSQL Database Website Penjualan Online Tips Trik Source Code Cara Belajar PHP pemula lengkap Jquery yii
Jasa Pembuatan Website Murah | Jasa Pembuatan Program | Source Code PHP

Koleksi Source Code PHP - Klik Dimari Gan!

Senin, 18 Juni 2012


Cara Membuat Form Entry Data, Edit/Update, Hapus Di PHP

Pemprograman dasar database merupakan komponen utama yang ada untuk dapat membuat suatu aplikasi berjalan dengan penyimpanan. Oke, kita dalam kesempatan ini akan belajar bagaimana membuat fungsi edit, tambah dan edit di bahasa pemprograman PHP. Ini adalah fungsi dasar yang terlebih dahulu dipelajari sebelum lebih lanjut belajar PHP dengan fungsi penyimpanan yang lain.

Pertama yang perlu diketahui yaitu bagaimana membuat database dengan nama data_siswa dan tabel mhs, yang berisi field nim,nama, alamat, agama dan nomor telepon.

Setelah langkah pembuatan database selesai maka yang perlu dibuat yaitu buat folder baru di server local semisal wampserver.seperti ini caranya masuk kelocaldisk c cari wamp buat seperti berikut Wamp/www/namafolder yang akan dibuat. Kemudian buat file koneksi.php untuk koneksi ke database.

<?php $host="localhost"; $user="root"; $pass=""; $db="data_siswa";

$sambung=mysql_connect($host,$user,$pass); mysql_select_db($db,$sambung); ?>

Kita selanjutnya akan membuat index.php yang digunakan sebagai file utama sbb:

<html> <head> <title>Daftar Mahasiswa</title> </head> <body> <?php $sambung = mysql_connect("localhost", "root", "") or die ("Gagal konek ke server."); mysql_select_db("data_siswa") or die ("Gagal membuka database."); ?> <table border="5"> <tr> <th>NIM</th> <th>Nama Mahasiswa</th> <th>Alamat</th> <th>Agama</th> <th>No_tlpn</th> <th colspan="3">Aksi</th> </tr> <?php $query = "select * from mhs"; $result = mysql_query($query, $sambung); //$no = 0; while ($buff = mysql_fetch_array($result)){ //$no++; ?>

<tr> <td><?php echo $buff['nim']; ?></td> <td><?php echo $buff['nama']; ?></td> <td><?php echo $buff['alamat']; ?></td> <td><?php echo $buff['agama']; ?></td> <td><?php echo $buff['notlpn']; ?></td> <td><a href="edit.php?nim=<?php echo $buff['nim']; ?>">Edit</a> | <td><a href="hapus.php?nim=<?php echo $buff['nim']; ?>">Hapus</a> </tr> <?php }; mysql_close($sambung); ?> </table> <p align="left"><a href="tambah.html">Tambah Data</a></p> </body> </html>

File utama sudah jadi sekarang fungsi untuk memasukan data buat dengan nama entry.php sbb:

<?php include("koneksi.php"); $nim = $_POST['nim']; $nama = $_POST['nama']; $alamat = $_POST['alamat']; $agama = $_POST['agama']; $notlpn = $_POST['notlpn'];

$query = mysql_query("insert into mhs values ('$nim','$nama','$alamat','$agama','$notlpn')"); echo "Data Telah disimpan<br> <a href=\"index.php\">Kembali</a>";

?>

Kita perlu membuat file tampilan tambah data dengan nama tambah.html sbb:

<html> <head><title>Tambah Data</title></head> <body> <h3><p align="left">Tambah Data Mahasiswa</p></h3> <form name="form1" method="post" action="entry.php"> <table> <tr><td>NIM</td> <td><input type="text" name="nim" size="12"></td></tr> <tr><td>Nama</td> <td><input type="text" name="nama" size="30"></td></tr> <tr><td>Alamat</td><td><input type="text" name="alamat" size="50"></td></tr> <tr><td>Agama</td><td><input type="text" name="agama" size="10"></td></tr> <tr><td>No. Tlpn</td><td><input type="text" name="notlpn" size="15"></td></tr> <tr><td><input value="Simpan" name="submit" type="submit" /></td></tr> <tr><td><input value="ulangi" type="reset" /></td></tr> <tr><td><input value="Kembali" type="button" onClick="self.history.back()"></td></tr> </table> </form> </body> </html> Fungsi update data dengan file update.php sbb:

<?php include("koneksi.php"); $nim = $_POST['nim']; $nama = $_POST['nama']; $alamat = $_POST['alamat']; $agama = $_POST['agama']; $notlpn = $_POST['notlpn'];

$query = mysql_query("update mhs set nama='$nama', alamat='$alamat', agama='$agama', notlpn='$notlpn' where nim='$nim'"); echo "Data Telah diupdate<br> <a href=\"index.php\">Kembali</a>"; ?>

Buat Fungsi hapus data dengan file hapus.php sbb:

<?php include("koneksi.php"); mysql_query("DELETE from mhs WHERE nim='$_GET[nim]'"); echo"Data Telah dihapus<br> <a href=\"index.php\">Kembali</a>"; ?>

Terakhir buat fungsi edit dengan file name edit.php sbb:

<?php $sambung = mysql_connect("localhost", "root", "") or die ("Gagal konek ke server."); mysql_select_db("data_siswa") or die ("Gagal membuka database."); //$edit=mysql_query("SELECT * FROM mhs WHERE nim='$_GET[nim]'"); //$r_edit=mysql_fetch_array($edit); $nim = $_GET['nim']; $query = "select * from mhs where nim='$nim'"; $result = mysql_query($query, $sambung) or die("gagal melakukan query"); $buff = mysql_fetch_array($result); mysql_close($sambung); ?> <html> <head><title>Edit Data</title></head> <body>

<form name="form1" method="post" action="update.php"> <table> <tr> <td>Nim</td><td><input type="text" name="nim" value="<?php echo $buff['nim']; ?>"></td></tr> <tr><td>Nama</td><td><input type="text" name="nama" value="<?php echo $buff['nama']; ?>"></td></tr> <tr><td>Alamat</td><td><input type="text" name="alamat" value="<?php echo $buff['alamat']; ?>" size="50"></td></tr> <tr><td>Agama</td><td><input type="text" name="agama" value="<?php echo $buff['agama']; ?>"></td></tr> <tr><td>No. tlpn</td><td><input type="text" name="notlpn" value="<?php echo $buff['notlpn']; ?>"></td></tr> <tr> <input value="Simpan" type="submit" name="submit"/> <input type="button" value="Kembali" onClick="self.history.back()"></td></tr> </table> </form> </body> </html>

Setelah semua file dibuat jalan kan localhost dan ketik dengan format localhost/nama folder/index.php. Selamat berjuang membuat fungsi edit, tambah, hapus di php. Semoga sukses... Source : http://language-komputer.blogspot.com/2011/10/cara-membuat-fungsi-edit-tambahdan.html

Cara Menampilkan View Data Yang Telah Di Inputkan Ke Database


Setelah kita menginputkan data pada Database MySql, sekarang yang perlu kita lakukan adalah menampilkan data tersebut. Untuk menampilkan data biasanya menggunakan kode HTML yang diselipkan Script PHP. Kali ini kita akan menampilkan data buku dalam bentuk tabel yang sederhana. Langkah pertama yang kita lakukan adalah membuat koneksi ke database MySql.

<?php

$conn =mysql_connect("localhost","root",""); $db = mysql_select_db("herdi",$conn); $sql = "select * from buku order by kode"; $hasil = mysql_query($sql,$conn); ?>

Untuk menampilkankan data kita gunakan mysql_fetch_row($hasil) .

<h1 align="center" >Data Buku</h1> <br> <table width="656" border="1" cellspacing="0" cellpadding="2"> <tr> <td width="107">Kode</td> <td width="212">Judul</td> <td width="94">Jenis</td> <td width="128">Pengarang</td> <td width="83">Jumlah</td> </tr> <?php while ($rsbuku = mysql_fetch_row($hasil)){ ?> <tr> <td><?php echo $rsbuku[0]; ?></td> <td><?php echo $rsbuku[1]; ?></td> <td><?php echo $rsbuku[2]; ?></td> <td><?php echo $rsbuku[3]; ?></td> <td><?php echo $rsbuku[4]; ?></td> </tr> <?php } ?> </table>

Hasilnya seperti berikut

Data Buku
Kode BK100000001 BK100000002 BK100000003 BK100000004 Judul Microsoft Access 2007 Rumus - Rumus Matematika Chord Gitar 1001 Pribahasa Jenis Komputer Matematika Kesenian Matematika Pengarang herdiana Dhika Rian Bara Jumlah 2 2 1 3

Sedikit Penjelasan $conn digunakan untuk membuat koneksi ke MySql. $db digunakan untuk memilih database

$sql bahasa sql untuk mengambil semua field dari tabel buku $hasil untuk menjalankan $sql.

<?php while ($rsbuku = mysql_fetch_row($hasil)){ ?>

While digunakan untuk mengulang atau membuat baris pada table sebanyak record yang ada pada $rsbuku dan ditutup dengan <?php } ?>. <?php echo $rsbuku[0]; ?> untuk menampilkan field yang ke 0 dari tabel buku. Untuk mengambil field bisa ditulis langsung nama fielnya misalnya <?php echo $rsbuku["kode"]; ?>. Source : http://ilkomtutorial.blogspot.com/2011/01/menampilkan-data-dari-table-mysql.html

Kamis, 07 Juni 2012


Membuat Paging Halaman Sederhana Dengan PHP
Bagi programmer pasti sering membuat aplikasi yang menampilkan data. Nah, apabila data yang mau ditampilkan sedikit, itu tidak masalah, tapi bagaimana jika data yang mau ditampilkan jumlahnya puluhan bahkan ratusan maka pengguna akan menghadapi scrool window yang sangat panjang (sampe cape scrool-nya :P) dan loading-nya akan lama. Nah, untuk mengatasi hal ini digunakan satu sistem yang sudah banyak dikenal yaitu Sistem Paging. Sistem Paging adalah sistem dimana menampilkan data-data yang ada secara bertahap, jadi data tidak ditampilkan semua, data dibagi menjadi beberapa halaman dengan masing-masing halaman hanya memiliki beberapa data saja. Kemudian jika halaman tujuan diklik baru data pada halaman tersebut ditampilkan, jadi proses loading yang terjadi tidak lama. Sistem Paging ini saya jelaskan lebih dikhususkan untuk penggunaan pada Website. Sekarang saya akan menjelaskan dulu logika dasar dari sistem Paging. Perhatikan table di bawah ini :

Sebagai contoh, kita memiliki 22 record daftar mahasiswa, kemudian ingin kita tampilkan dengan dibagi menjadi beberapa halaman dengan maksimum 5 record per halaman. Nah, pertama kita cari dulu jumlah halaman yang akan terbentuk :
Jumlah Halaman = Total Record / Maksimum Record tiap halaman Jumlah Halaman = 22 / 5 = 4.4 Halaman

Ibarat kan saja halaman itu halaman pada buku novel ukuran kertas A4,dimana ada sisa sedikit cerita yang tidak muat lagi untuk ditampilkan di halaman terakhir, mau tak mau kertas musti ditambah satu lagi guna menempatkan sisa cerita yang ada (walaupun hanya menggunakan separo dari ukuran kertas saja. Maka dari itu setiap perhitungan Jumlah Halaman kita akan bulatkan ke atas.
Jumlah Halaman = 22 / 5 = 4.4 = 5 Halaman

Untuk pengambilan data dari database (mysql), kita ambil dari record pertama dengan kelipatan 5 untuk halaman selanjutnya, Coba perhatikan tabel di atas, : untuk halaman 1, kita hanya mengambil data dari record ke-0 hingga ke record ke-4, untuk halaman 2, kita hanya mengambil data dari record ke-5 hingga ke record ke9, dst (record pertama dalam mysql dimulai dari angka 0) . Jadi rumus untuk mendapatkan start record adalah : (no halaman saat ini - 1) * maximum record per halaman Sebagai contoh untuk kasus diatas (dengan maximum record per halaman = 5) : Start record untuk halaman 1 : (1 - 1) * 5 = 0 Start record untuk halaman 2 : (2 - 1) * 5 = 5 Start record untuk halaman 3 : (3 - 1) * 5 = 10 Start record untuk halaman 4 : (4 - 1) * 5 = 15 Start record untuk halaman 5 : (5 - 1) * 5 = 20

Nah,berdasarkan dari logika yang saya jelaskan di atas , berikut contoh dalam bentuk coding PHP :

<? function generate_paging_text($curPage,$totalRec,$maxRec){ $totalPage=ceil($totalRec/$maxRec); $str=""; /*prev button*/ if($curPage>1){ $prevPage = $curPage-1; $str.=" ".makeLink("prev","?p=".$prevPage)." "; } /*generate page number*/

for($i=1;$i<=$totalPage;$i++){ if($i==$curPage){ $bold=true; }else{ $bold=false; } $str.=" ".makeLink($i,"?p=".$i,$bold)." "; } /*next button*/ if($curPage<$totalPage){ $nextPage=$curPage+1; $str.=" ".makeLink("next","?p=".$nextPage)." "; } return $str; } function makeLink($str,$url,$bold="false"){ if($bold){ $str="<b>".$str."</b>"; } return '<a href="'.$url.'">'.$str.'</a>'; }

//Connect to database $con = mysql_connect("localhost","root",""); mysql_select_db("contoh",$con); $curPage=($_GET['p']==null)?1:$_GET['p']; $maxRec=5;// maximum record per page

/* GET DATA FROM MYSQL */ $curRec = ($curPage-1)*$maxRec; //TO GET START RECORD $sql = "select * from customer order by name asc limit ".$curRec.",".$maxRec; echo "Query untuk Halaman ".$curPage.": <b>".$sql."</b><Br><BR>"; $rs=mysql_query($sql,$con); while ($row = mysql_fetch_assoc($rs)) { echo "Nama : ".$row['name']." , Umur : ".$row['age']."<br>"; } // get total Record from your table in database $total_record=mysql_query("select count(customer_id) as tot from customer",$con); $total_record=mysql_fetch_row($total_record); $total_record=$total_record[0];

/* PRINT PAGING LINK */ echo "<br>"; echo generate_paging_text($curPage,$total_record,$maxRec); ?>

Saya akan jelaskan perbagian. function generate_paging_text($curPage,$totalRec,$maxRec) Disini, untuk mengehasikan text Paging saya buat dalam bentuk function , jadi bisa dipakai dengan mudah setiap saat. Paramater yang diterima oleh function paging ini ada 3 yaitu : 1. $curPage = digunakan untuk memberitaukan function halaman no berapa yang sedang aktif. 2. $totalRec =berisi total record yang berada di dalam database. 3. $maxRec= berisi informasi maksimum record yang boleh ditampilkan tiap halaman.

function makeLink($str,$url,$bold="false") Function ini digunakan untuk menggenerate paging link yang mana ada deteksi kalau butuh ditebalkan tulisannya maka akan ditambah dengan tag "<b>". Kemudian bagian pengambilan datanya, logika perhitungannya dibuat sesuai logika yang sudah dijelaskan di atas. Untuk membatasi record yang mau diambil dari database, dapat menambahkan "limit startRecord,maxRecord" di paling belakang sql pengambilan data. $startRec= ($curPage-1)*$maxRec; //TO GET START RECORD $sql = "select * from customer order by name asc limit ".$startRec.",".$maxRec; $rs=mysql_query($sql,$con); Ini saya sertakan file php-nya supaya lebih jelas contoh paging

Tutorial Lengkap Membuat Paging Halaman Dengan PHP


Paging merupakan teknik menampilkan data dengan cara membaginya ke beberapa halaman. Teknik ini diberikan untuk mengurangi scrolling window apabila data yang disajikan terlalu banyak, sehingga akan menimbulkan kejemuan orang yang melihat dan juga akan menghasilkan page load time yang besar karena ukuran filenya besar (apabila data disajikan dalam satu halaman saja). Untuk keperluan navigasi data biasanya disajikan dengan link berupa nomor halaman atau kadang berbentuk Previous dan Next. Pada tutorial ini akan dipaparkan bagaimana ide membuat advance paging ini dilakukan. Advance paging adalah paging yang navigasinya berbentuk

1 2 3 4 20 Next >> Contoh tampilan di atas diasumsikan terdapat 20 halaman paging dan halaman yang sedang aktif adalah halaman 1. Bila yang aktif halaman 10, maka tampilan navigasinya adalah: << Prev 1 ... 7 8 9 10 11 12 13 20 Next >> Sedangkan bila yang aktif adalah halaman terakhir (20) maka tampilan navigasinya adalah << Prev 1 .. 17 18 19 20 Dalam contoh ini kasus advance paging ini akan diterapkan pada data guestbook atau buku tamu. Istilah advance paging ini adalah istilah saya saja sih Pertama kita siapkan terlebih dahulu tabel untuk menyimpan datanya:

1.CREATE TABLE guestbook ( 2.id int(11) auto_increment, 3.nama varchar(20), 4.email varchar(20), 5.tanggal date, 6.komentar text, 7.PRIMARY KEY (id) 8.)

Selanjutnya kita buat skenario dari paging ini. Misalkan kita akan membuat paging dengan jumlah data yang ditampilkan per halaman adalah sejumlah 5 buah. Sehingga kita perlu membuat variabel untuk menyimpan jumlah data yang akan ditampilkan per halaman. show.php

01.<?php 02. 03.// koneksi ke mysql 04. 05.mysql_connect('namahost', 'dbuser', 'dbpassword'); 06.mysql_select_db(data); 07. 08.// jumlah data yang akan ditampilkan per halaman 09.

10.$dataPerPage = 5; 11.. 12.. 13.. 14.?>

Kita lanjutkan skenarionya. Untuk script paging ini, bila dibuka pertama kali dengan URL http://namaserver/show.php maka otomatis menuju ke halaman 1. Untuk menuju ke halaman 2, maka URL nya http://namaserver/show.php?page=2. Sedangkan untuk menuju ke halaman 3, URL nya http://namaserver/show.php?page=3, dan seterusnya. Dari skenario di atas tampak bahwa bila parameter ?page=... belum diberikan pada URL maka secara otomatis menuju ke nomor halaman 1. Sedangkan bila terdapat parameter ?page= maka nomor halamannya menyesuaikan nilai pada parameter ?page tersebut. Untuk mewujudkan hal ini, maka kita tambahkan perintah

01.<?php 02.mysql_connect('namahost', 'dbuser', 'dbpassword'); 03.mysql_select_db('dbname'); 04. 05.// jumlah data yang akan ditampilkan per halaman 06. 07.$dataPerPage = 5; 08. 09.// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut, 10.// sedangkan apabila belum, nomor halamannya 1. 11. 12.if(isset($_GET['page'])) 13.{ 14.$noPage = $_GET['page']; 15.} 16.else $noPage = 1; 17.. 18.. 19.?>

Selanjutnya, dalam teknik paging perlu adanya pengaturan posisi awal data atau lebih dikenal dengan istilah offset. Offset digunakan untuk mengatur posisi awal data yang akan ditampilkan perhalaman. Perlu Anda tahu, bahwa data dalam database memiliki urutan seperti halnya array. Data pada baris pertama hasil query SQL disebut data pada posisi ke-0, data pada baris kedua disebut data pada posisi ke-1, dst. Trus.. apa kaitannya offset dengan paging? Sabar perhatikan dulu contoh berikut ini Sebagai contoh, misalkan terdapat 15 data dalam tabel guestbook dimana kita ingin menyajikan pada setiap halaman adalah 5 data. Dengan demikian total terdapat 3 halaman dalam pagingnya. Untuk halaman pertama, pastilah data yang ditampilkan adalah data ke 0, 1, 2, 3 dan 4. Sedangkan halaman kedua, data yang ditampilkan adalah 5, 6, 7, 8, dan 9. Serta halaman ketiga, data ke 10, 11, 12, 13, 14. Nah perhatikan bahwa untuk halaman 1, data awal yang ditampilkan adalah data pada urutan ke-0, halaman 2 data awalnya adalah data pada urutan ke-5 dan halaman 3 data pada urutan ke 10. Lantas apa gunanya offset tersebut? Offset nantinya akan digunakan pada query SQL untuk memunculkan data pada setiap halaman. Query SQL yang digunakan adalah

SELECT * FROM guestbook LIMIT offset, jumlahData;

Sehingga untuk memunculkan data guestbook pada halaman pertama, maka perintahnya

SELECT * FROM guestbook LIMIT 0, 5;

Untuk memunculkan data pada halaman kedua, perintahnya:

SELECT * FROM guestbook LIMIT 5, 5;

dan untuk memunculkan data pada halaman ketiga, perintahnya:

SELECT * FROM guestbook LIMIT 10, 5;

dan seterusnya. OK.. deh.. dah paham, trus yang jadi masalah adalah bagaimana menentukan offset pada setiap halamannya? Bila kita lihat patternnya, maka hubungan antara offset, jumlah data yang ingin ditampilkan per halaman dan nomor halamannya adalah: offset = (no halaman 1) * jumlah data per halaman; Lho kok bisa? he.. 3x kita cek saja. Untuk halaman 1, maka nilai offset = (1 1) * 5 = 0. Untuk halaman 2, nilai $offset = (2 1) * 5 = 5 dan halaman ketiga $offset = (3 1) * 5 = 10. Bener kan? OK.. deh, dah paham tentang offset, so.. kita bisa tambahkan scriptnya untuk mencari offset dan query SQL nya.

01.<?php 02.mysql_connect('namahost', 'dbuser', 'dbpassword'); 03.mysql_select_db('dbname'); 04. 05.// jumlah data yang akan ditampilkan per halaman 06. 07.$dataPerPage = 5; 08. 09.// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut, 10.// sedangkan apabila belum, nomor halamannya 1. 11. 12.if(isset($_GET['page'])) 13.{ 14.$noPage = $_GET['page']; 15.} 16.else $noPage = 1; 17. 18.// perhitungan offset 19. 20.$offset = ($noPage - 1) * $dataPerPage; 21. 22.// query SQL untuk menampilkan data perhalaman sesuai offset 23. 24.$query = "SELECT * FROM guestbook LIMIT $offset, $dataPerPage"; 25. 26.$result = mysql_query($query) or die('Error'); 27. 28.// menampilkan data 29. 30.echo "<table border='1'>"; 31.echo "<tr><td>Nama</td><td>Email</td><td>Tanggal</td><td>Komentar</td></tr>"; 32.while($data = mysql_fetch_array($result))

33.{ 34.echo "<tr><td>".$data['nama']."</td><td>".$data['email']."</td><td>".$data['tang gal']."</td><td>".$data['komentar']."</td></tr>"; 35.} 36. 37.echo "</table>"; 38. 39.. 40.. 41. 42.?>

Nah masalah berikutnya adalah bagaimana menentukan total jumlah halamannya? Hal ini penting karena nantinya akan ditampilkan sebagai link navigasi pagingnya. Untuk menghitung total jumlah halaman, kita cari patternnya terlebih dahulu. Misalkan terdapat 15 data, dan kita ingin menyajikan data sejumlah 5 per halaman, maka total ada berapa halaman yang dibutuhkan? OK.. benar ada 3. Trus kalo ada 31 data dan kita ingin menyajikan data sejumlah 5 per halaman, total ada berapa halaman? OK.. benar ada 7 (untuk halaman ke-7 hanya tampil 1 buah data). Sehingga dari pattern tersebut formula untuk menghitung jumlah halaman adalah jumlah halaman = ceil(jumlah data / data per halaman); ceil() adalah function yang digunakan untuk membulatkan ke atas suatu bilangan. Misal ceil(3.2) = 4, ceil(3.7) = 4. Trus yang jadi masalah adalah bagaimana mendapatkan jumlah datanya? Nah untuk mendapatkan jumlah data keseluruhan yang ada kita gunakan query SQL.

SELECT COUNT(*) FROM guestbook;

OK I know, dan sekarang kita bisa tambahkan proses menghitung jumlah data dan jumlah halaman pada scriptnya.

01.<?php 02.mysql_connect('namahost', 'dbuser', 'dbpassword'); 03.mysql_select_db('dbname'); 04. 05.// jumlah data yang akan ditampilkan per halaman 06. 07.$dataPerPage = 5;

08. 09.// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut, 10.// sedangkan apabila belum, nomor halamannya 1. 11. 12.if(isset($_GET['page'])) 13.{ 14.$noPage = $_GET['page']; 15.} 16.else $noPage = 1; 17. 18.// perhitungan offset 19. 20.$offset = ($noPage - 1) * $dataPerPage; 21. 22.// query SQL untuk menampilkan data perhalaman sesuai offset 23. 24.$query = "SELECT * FROM guestbook LIMIT $offset, $dataPerPage"; 25. 26.$result = mysql_query($query); 27. 28.// menampilkan data 29. 30.echo "<table border='1'>"; 31.echo "<tr><td>Nama</td><td>Email</td><td>Tanggal</td><td>Komentar</td></tr>"; 32.while($data = mysql_fetch_array($result)) 33.{ 34.echo "<tr><td>".$data['nama']."</td><td>".$data['email']."</td><td>".$data['tang gal']."</td><td>".$data['komentar']."</td></tr>"; 35.} 36. 37.echo "</table>"; 38.

39.// mencari jumlah semua data dalam tabel guestbook 40. 41.$query = "SELECT COUNT(*) AS jumData FROM guestbook"; 42.$hasil = mysql_query($query); 43.$data = mysql_fetch_array($hasil); 44. 45.$jumData = $data['jumData']; 46. 47.// menentukan jumlah halaman yang muncul berdasarkan jumlah semua data 48. 49.$jumPage = ceil($jumData/$dataPerPage); 50.. 51.. 52. 53.?>

Nah sekarang tinggal bagaimana cara memunculkan link berisi nomor halaman yang menuju ke setiap halamannya. Untuk memunculkan nomor halamannya, caranya mudah. Kita hanya menggunakan looping saja. Tapi eit.. tunggu dulu pada desain advance paging di atas, sebelum memunculkan link nomor halaman, terdapat link << prev. Kapan link ini akan muncul? ya... tepat sekali yaitu ketika nomor halaman yang sedang aktif (sedang dibuka) setelah halaman pertama atau $noPage > 1. Trus.. menuju ke nomor halaman berapakah link tersebut? yap.. benar yaitu menuju ke nomor halaman sebelumnya ($noPage 1). Dengan demikian kita bisa tambahkan perintah berikut ini pada script

1.if ($noPage > 1) echo "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage1)."'>&lt;&lt; Prev</a>";

sehingga menjadi

01.<?php 02.mysql_connect('namahost', 'dbuser', 'dbpassword'); 03.mysql_select_db('dbname'); 04.

05.// jumlah data yang akan ditampilkan per halaman 06. 07.$dataPerPage = 5; 08. 09.// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut, 10.// sedangkan apabila belum, nomor halamannya 1. 11. 12.if(isset($_GET['page'])) 13.{ 14.$noPage = $_GET['page']; 15.} 16.else $noPage = 1; 17. 18.// perhitungan offset 19. 20.$offset = ($noPage - 1) * $dataPerPage; 21. 22.// query SQL untuk menampilkan data perhalaman sesuai offset 23. 24.$query = "SELECT * FROM guestbook LIMIT $offset, $dataPerPage"; 25. 26.$result = mysql_query($query) or die('Error'); 27. 28.// menampilkan data 29. 30.echo "<table border='1'>"; 31.echo "<tr><td>Nama</td><td>Email</td><td>Tanggal</td><td>Komentar</td></tr>"; 32.while($data = mysql_fetch_array($result)) 33.{ 34.echo "<tr><td>".$data['nama']."</td><td>".$data['email']."</td><td>".$data['tang gal']."</td><td>".$data['komentar']."</td></tr>"; 35.}

36. 37.echo "</table>"; 38. 39.// mencari jumlah semua data dalam tabel guestbook 40. 41.$query = "SELECT COUNT(*) AS jumData FROM guestbook"; 42.$hasil = mysql_query($query); 43.$data 44. 45.$jumData = $data['jumData']; 46. 47.// menentukan jumlah halaman yang muncul berdasarkan jumlah semua data 48. 49.$jumPage = ceil($jumData/$dataPerPage); 50. 51.// menampilkan link previous 52. 53.if ($noPage > 1) echo "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage1)."'>&lt;&lt; Prev</a>"; 54.. 55.. 56. 57.?> = mysql_fetch_array($hasil);

Berikutnya kita akan tampilkan link nomor-nomor halamannya menggunakan looping. Adapun perintah-perintahnya adalah seperti di bawah ini.

01.for($page = 1; $page <= $jumPage; $page++) 02.{ 03.if ((($page >= $noPage - 3) && ($page <= $noPage + 3)) || ($page == 1) || ($page == $jumPage)) 04.{ 05.if (($showPage == 1) && ($page != 2)) echo "..."; echo "...";

06.if (($showPage != ($jumPage - 1)) && ($page == $jumPage))

07.if ($page == $noPage) echo " <b>".$page."</b> "; 08.else echo " <a href='".$_SERVER['PHP_SELF']."?page=".$page."'>".$page."</a> "; 09.$showPage = $page; 10.} 11.}

Konsep loopingnya sederhana, yaitu menuliskan link nomor halaman mulai dari 1 s/d jumlah halamannya. Namun harap dicatat di sini bahwa karena tidak semua nomor halaman ditampilkan sesuai desain sebelumnya maka kita perlu berikan syarat. Maksud dari syarat

1.if ((($page >= $noPage - 3) && ($page <= $noPage + 3)) || ($page == 1) || ($page == $jumPage)) 2.{ 3.. 4.. 5.}

adalah hanya memunculkan link nomor halaman 1 dan juga halaman terakhir, sekaligus pula nomornomor halaman dalam rentang 3 halaman sebelum dan sesudah nomor halaman yang aktif. Contoh jika halaman yang aktif adalah halaman 7 dari 15 halaman, maka nanti diharapkan nomor halaman yang muncul adalah 1 4 5 6 7 8 9 10 15 Anda dapat mengubah rentang halaman sesuai yang diinginkan. Perintah

if (($showPage == 1) && ($page != 2))

echo "...";

Digunakan untuk memunculkan tanda di antara halaman nomor 1 dengan halaman berikutnya yang tampil. Tapi perlu diingat bahwa tanda ini akan muncul bila nomor halaman yang muncul setelah 1 ialah bukan 2. Apabila setelah 1 ini muncul 2, maka tanda ini tidak muncul. Demikian pula untuk perintah

if (($showPage != ($jumPage - 1)) && ($page == $jumPage))

echo "...";

Perintah di atas digunakan untuk memunculkan tanda sebelum nomor halaman terakhir bila halaman sebelumnya yang muncul bukan nomor halaman terakhir 1. Sehingga dari kedua perintah di atas diharapkan akan menampilkan nomor halaman seperti di bawah ini 1 4 5 6 7 8 9 10 15 (bila yang aktif adalah halaman 7)

1 2 3 4 5 6 15 (bila yang aktif adalah halaman 2) 1 10 11 12 13 14 15 (bila yang aktif adalah halaman 13) Sedangkan perintah

1.if ($page == $noPage) echo " <b>".$page."</b> "; 2.else echo " <a href='".$_SERVER['PHP_SELF']."?page=".$page."'>".$page."</a> ";

digunakan untuk menampilkan link nomor halaman. Namun link dari nomor halaman ini ditampilkan hanya pada nomor halaman yang sedang tidak aktif. Sedangkan pada nomor halaman yang sedang aktif nomor halaman hanya dicetak tebal saja untuk menunjukkan bahwa halaman yang sedang aktif adalah halaman tersebut. Terakhir.. kita perlu link untuk memunculkan next >>. OK kapan link ini muncul? ya benar yaitu ketika halaman yang sedang aktif bukanlah pada halaman terakhir atau sebelum halaman terakhir. Sehingga kita bisa tambahkan perintah

if ($noPage < $jumPage) echo "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage+1)."'>Next &gt;&gt;</a>";

pada script, sehingga scriptnya menjadi

01.<?php 02.mysql_connect('namahost', 'dbuser', 'dbpassword'); 03.mysql_select_db('dbname'); 04. 05.// jumlah data yang akan ditampilkan per halaman 06. 07.$dataPerPage = 5; 08. 09.// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut, 10.// sedangkan apabila belum, nomor halamannya 1. 11. 12.if(isset($_GET['page'])) 13.{ 14.$noPage = $_GET['page']; 15.}

16.else $noPage = 1; 17. 18.// perhitungan offset 19. 20.$offset = ($noPage - 1) * $dataPerPage; 21. 22.// query SQL untuk menampilkan data perhalaman sesuai offset 23. 24.$query = "SELECT * FROM guestbook LIMIT $offset, $dataPerPage"; 25. 26.$result = mysql_query($query) or die('Error'); 27. 28.// menampilkan data 29. 30.echo "<table border='1'>"; 31.echo "<tr><td>Nama</td><td>Email</td><td>Tanggal</td><td>Komentar</td></tr>"; 32.while($data = mysql_fetch_array($result)) 33.{ 34.echo "<tr><td>".$data['nama']."</td><td>".$data['email']."</td><td>".$data['tang gal']."</td><td>".$data['komentar']."</td></tr>"; 35.} 36. 37.echo "</table>"; 38. 39.// mencari jumlah semua data dalam tabel guestbook 40. 41.$query = "SELECT COUNT(*) AS jumData FROM guestbook"; 42.$hasil = mysql_query($query); 43.$data 44. 45.$jumData = $data['jumData']; 46. = mysql_fetch_array($hasil);

47.// menentukan jumlah halaman yang muncul berdasarkan jumlah semua data 48. 49.$jumPage = ceil($jumData/$dataPerPage); 50. 51.// menampilkan link previous 52. 53.if ($noPage > 1) echo "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage1)."'>&lt;&lt; Prev</a>"; 54. 55.// memunculkan nomor halaman dan linknya 56. 57.for($page = 1; $page <= $jumPage; $page++) 58.{ 59.if ((($page >= $noPage - 3) && ($page <= $noPage + 3)) || ($page == 1) || ($page == $jumPage)) 60.{ 61.if (($showPage == 1) && ($page != 2)) echo "..."; echo "...";

62.if (($showPage != ($jumPage - 1)) && ($page == $jumPage)) 63.if ($page == $noPage) echo " <b>".$page."</b> ";

64.else echo " <a href='".$_SERVER['PHP_SELF']."?page=".$page."'>".$page."</a> "; 65.$showPage = $page; 66.} 67.} 68. 69.// menampilkan link next 70. 71.if ($noPage < $jumPage) echo "<a href='".$_SERVER['PHP_SELF']."?page=".($noPage+1)."'>Next &gt;&gt;</a>"; 72. 73.?>

Wah panjang juga ya artikelnya.. tapi gak papa deh, mudah-mudahan ada manfaatnya bagi Anda. Selamat mencoba dan berpaging ria Jika Anda ingin mendownload scriptnya, silakan download di bawah ini [ Download Script ]

Diposkan oleh Isan di 09.24 Kirimkan Ini lewat EmailBlogThis!Berbagi ke TwitterBerbagi ke Facebook Label: PHP Tidak ada komentar: Poskan Komentar Posting Lebih Baru Posting Lama Beranda Langganan: Poskan Komentar (Atom)

Entri Populer

Cara Membuat Form Entry Data, Edit/Update, Hapus Di PHP Pemprograman dasar database merupakan komponen utama yang ada untuk dapat membuat suatu aplikasi berjalan dengan penyimpanan. Oke, kita...

Source Code Sistem Informasi Penjualan Online PHP MySql Pada artikel kali ini, saya akan sharing tentang contoh web ecommers sederhana dengan PHP. Aplikasi ini hasil dari tugas praktikum pe...

Cara Membuat Template Website (PHP, Css & Html) Kehadiran web generasi kedua atau web 2.0 memang membawa dampak yang cukup besar, terutama bagi para pengembang web ( web developer ). Web ...

Cara Membuat Download Dan Upload File Pada PHP Ada temen saya yang bertanya mengenai coding cara upload dan download file di PHP. Pada aplikasi yang saya buat kali ini, ada 2 bagian ya...

Membuat Pencarian Data Dengan PHP + SourceCode Kali ini kita akan mencoba pencarian sederhana dengan PHP. Pada pencarian ini kita akan mencari data yang ada di database mysql. Yang dib...

Script PHP Menampilkan Tanggal Sekarang Untuk menampilkannya kita bisa menggunakan fungsi date() yang sudah disediakan oleh PHP. Cara penggunaannya sangat mudah, cukup mengisi n...

Cara Membuat Kalender Menggunakan PHP

ntuk posting kali ini saya akan membagikan script membuat kalender dengan PHP script.. nah, untuk tidak terlalu banyak menghasiskan waktu a...

Membuat Form Login Member Aplikasi Multi-User PHP Hufh setelah lama bergelut dengan semua tugas-tugas kuliah akhirnya saya bisa menulis lagi di blog tercinta ini, yup kali ini saya akan me...

Cara Membuat Print Halaman Dengan Script PHP Tips berikut digunakan bagaimana cara untuk mencetak halaman yang ada pada browser. Dengan menggunakan perintah sedikit Javascript. Silah...

Source Code Sistem Informasi Absensi Online PHP MySql Pada artikel kali ini saya akan membahas tentang aplikasi web yang digunakan untuk mengelola absensi siswa secara online. adapun fitur ya...

Arsip Blog

2012 (70) o Juni (70) Script PHP Form Kontak Kami Dan Mengirim Pesan Ke ... Script PHP Mysql Membuat Form Login Yang Aman + MD... Cara Mendapatkan IP Address Pengunjung Web Menggun... Tips Dan Trik PHP MySQL Tutorial JQuery Indonesia Tutorial JQuery Lengkap Tutorial JQuery Cara Membuat Tabbed Menu PHP Menggunakan Css JQuer... Kelebihan CodeIgniter Dibandingkan Framework PHP l... Memahami Apa Itu CodeIgniter Secara Mendalam Dan R... Truncating pada PHP untuk Mendapatkan String Terte... Mengenal dan Memahami CSS pada PHP dan Kegunaannya... Cara Cepat Membuat Website Menggunakan Dreamweaver... Cara Cepat Membuat Website Menggunakan Dreamweaver... Cara Cepat Membuat Website Menggunakan DreamWeaver... Cara Cepat Membuat Website Menggunakan DreamWeaver... Cara Membuat Aplikasi Autentifikasi User Login Pad... Cara Membuat Text Editor Artikel Menggunakan PHP M... Cara Mudah Membuat Cookie menggunakan PHP Source Code Website Multimedia PHP MySql Source Code PHP Export Data Ke Excel Source Code Sistem Informasi Akuntansi PHP MySql Download Source Code Website GIS PHP MapServer Download Template Website PHP Source Code Sistem Informasi Penjualan Online PHP ... Source Code Sistem Informasi Absensi Online PHP My... Download Sistem Informasi Ujian Online PHP MYSQL Source Code Sistem Informasi Nilai Online PHP MYSQ...

Tutorial Lengkap Membuat Website Dengan PHP & Mysq... Cara Lengkap Membuat Autentifikasi User Di PHP + M... Membuat Form Login Member Aplikasi Multi-User PHP Cara Mengetahui Error PHP Menggunakan Fungsi Mysql... Cara Mudah Membuat ReadMore Pada PHP Cara Membuat Print Halaman Dengan Script PHP Cara Menggabungkan Animasi Flash Pada PHP Cara Mudah Membuat Aplikasi Upload Data Dengan PHP... Cara Mudah Mengirim Email Menggunakan PHP Cara Membuat Table Tampil Data Warna Warni Pada PH... Form Entry, Edit, Hapus Dan Laporan PHP Menggunaka... Cara Membuat Form Entry Data, Edit/Update, Hapus D... Cara Menampilkan View Data Yang Telah Di Inputkan ... Tutorial Membuat Form Login Menggunakan PHP Cara Membuat Database Mysql dan Table Langsung Dar... Contoh Aplikasi PHP Dalam Penggunaan Session Fungsi Fungsi Yang Harus Diketahui Dalam Penggunaa... Apa Itu Session Pada PHP dan Fungsinya? Cara Membuat Download Dan Upload File Pada PHP Penggunaan Kondisi If Else Pada PHP Variabel Array Pada PHP Cara Membuat Kalender Menggunakan PHP Cara Membuat Format Mata Uang Pada PHP PHP, Menampilkan Tanggal Dalam Format Indonesia Cara Mencari Panjang String Pada PHP Cara Mengubah Huruf Kecil Menjadi Huruf Besar Pada... Cara Mengubah Huruf Kecil Menjadi Besar Pada PHP Cara Mengambil Karakter Tertentu Pada PHP Cara Mengetahui Posisi String Pada PHP Macam-Macam Fungsi String Pada PHP. Lengkap! Penggunaan Fungsi substr() dan strstr() dalam Mani... Macam-Macam Type Data Pada PHP Script PHP Pencarian Data Lebih Dari Satu Table Membuat Pencarian Data Dengan PHP + SourceCode Membuat Paging Halaman Sederhana Dengan PHP Tutorial Lengkap Membuat Paging Halaman Dengan PHP... Penggunaan var_dump Untuk Melihat Struktur Array Script PHP Menampilkan Tanggal Sekarang Script PHP Menampilkan Table Data Dari Database Membuat Form Entry Data Dengan PHP + Ajax Cara Membuat Koneksi PHP Ke Database MySql Cara Membuat Template Website (PHP, Css & Html)

membuat script readmore dalam paging dengan class paging cnnnav

Berkenaan dengan pertanyaan pembaca pada halaman kontak kami, maka pada pembahasan kali ini kami akan membahas kembali pengembangan tentang script paging menggunakan class cnnNav yang berkaitan dengan headline berita yang biasanya hanya ditampilkan sebagian saja pada halaman web, dan tentunya dengan link Readmore / Baca selengkapnya Seringkali kita melihat website yang menampilkan sebagian isi berita dengan link readmore pada masing - masing headline tersebut. Bagi pemula dalam pemrograman php mungkin berfikir bagaimana cara membuatnya ? Sebelum kita melangkah lebih jauh pada proses pembuatannya, kita pahami dahulu konsep yang digunakan untuk memecah berita tersebut dan mengambil sebagian datanya : Untuk melakukan pemecahan data seperti isi berita, ada dua cara yang mungkin kita lakukan, yaitu :

1. Mengambil isi dari huruf pertama sampai huruf ke -xx Cara ini biasanya digunakan dengan menggunakan fungsi substr(), dimana kita akan mengambil tulisan dari huruf ke 0 sampai dengan huruf yang kita tentukan. Contoh : Kita mempunyai berita yang isi sebagai berikut :
Bagi kalangan pemula dalam bahasa pemrograman, ketahuilah bahwasannya dalam mempelajari sebuah bahasa pemrograman akan memerlukan suatu proses. Tentunya dalam hal ini sangat diperlukan kesabaran, ketelitian dan juga kadang kita perlu biaya untuk belajar , kursus dan juga membeli buku - buku pemrograman. Berikut ini kami sajikan tips dan trik dalam kita mempelajari bahasa pemrograman

dst sampai selesai beritanya

Pada contoh diatas, jika kita bisa mengambil huruf ke 0 sampai huruf ke 200 kemudian hasilnya kita cetak sebagai headline dengan perintah :
1//contoh berita 2$berita = 'kata - kata yang sangat panjang bla bla blas ~'; 3//ambil hanya 200 huruf untuk headline 4$headline = substr($berita,0,200);

Pada contoh diatas, kita sudah dapat menampilkan headline yang memuat 200 huruf pada masing - masing berita dalam website kita
TAPI, JANGAN GUNAKAN CARA DI ATAS !!! ;D Alasannya apa ??? Cara diatas dapat menimbulkan permasalahan jika dalam proses pemotongan tersebut memuat sebuah TAG HTML yang belum tertutup. Contoh dalam headline tersebut memuat sebuah TAG : <a href="">klik di sini akan tetapi TAG </a>nya tidak termasuk dalam headline ;D

Cara diatas kami sampaikan hanya sekedar untuk menambah pemahaman tentang pembuatan headline berita

2. Menggunakan pemecahan data dengan struktur tertentu Cara inilah yang sekarang banyak digunakan, dimana pada masing - masing berita kita tentukan sampai bagian mana berita yang akan kita tampilkan. Cara memecahnya yaitu dengan memasukkan sebuah struktur text tertentu yang besifat unik pada berita tersebut kemudian kita gunakan perintah explode() untuk mengambil bagian pertama. Cobalah download contoh script dibawah dan lihat masing - masing berita pada tabel posting terdapat TAG yang unik, yaitu :
1none;"> </span></div>
<div style="page-break-after: always;"><span style="display:

Struktur diatas merupakan kode yang dihasilkan dalam WYSIWYG CkEditor. Jika kita tidak menggunakan editor atau masih menggunakan TEXTAREA biasa, kita masukkan kode unik tertentu yang nantinya akan kita gunakan untuk memcah berita berdasarkan kode struktur unik tersebut, misalnya :
1===pecah===

Masing - masing berita dalam database kita tambahkan 1 tulisan tersebut, kemudian kita pecah isinya dengan struktur tersebut dengan perintah :
1$berita = $data_berita_dari_tabel_posting; 2$pecah = explode('===pecah===',$berita); 3$headline = $pecah[0];

Script diatas kita tempatkan pada proses perulangan while dalam pemrosesan query sql.

Setelah memahami konsepnya, selanjutnya kita lihat contoh scriptnya seperti terlihat dibawah ini :
1 <style type="text/css"> 2 3 4 5 6 7 8 9 10 11 12 13 14
} } #more-data{ text-align:right; } #headline{ font:normal 12px Tahoma; display:block; width:500px; letter-spacing:0.5px; margin:0 0 10px 0; border-bottom:#cfd7f0 1px solid; #cnnNav{ width:500px; text-align:right;

15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

#more-data a,#cnnNav a{ text-decoration:none; color:#6c7eb7; } h3.judul{ font:bold 14px Tahoma; display:block; margin:5px 0 5px 0; padding:0 5px 0 10px; line-height:25px; border-bottom:#cfd7f0 1px solid; background-color:#6c7eb7; color:#ffffff; } p.content_by{ font:normal 10px Tahoma;

30 31 32 33 34 35 36
} </style> <?php

text-align:right; color:#666666;

include_once("config.php"); //panggil script koneksi include_once("ClassPaging.php"); //Panggil classPaging

37//buat batas berita yang akan ditampilkan dalam setiap halaman 38$limit = 5; 39 40//buat query 41$query = new CnnNav($limit,'posting','*','PID'); 42 43//jalankan querynya 44 45 46 47
$result = $query ->getResult(); //perintah diatas sama dengan perintah mysql_query ?> <div id="cnnNav"><?php $query->printNav(); ?></div> <?PHP

48//membuat penomoran posting 49$nomor = ($limit * $_GET['offset'])+1; 50while($data = mysql_fetch_array($result)){ 51 52 53 54 55 56 57 58 59 60


$id = $data['PID']; = $data['Judul']; = $data['Isi']; = explode('<div style="page-break-after: always;">',$isi);

$judul $isi $pecah

$headline = $pecah[0]; $penulis = $data['Penulis']; $tgl = $data['PostDate'];

echo '<div id="headline"> <h3 class="judul">'.$judul.'</h3> <div id="headline-content">

61 62 63

<p class="content_by">Oleh '.$penulis.' '.$tgl.'</p> '.$headline.' </div> <div id="more-data"><a

64href="detail.php?pid='.$id.'">Readmore</a></div> 65 66 67 68 69 70 71 72 73
<div id="clear" style="display:block;height:1px;clear:both;"> </div> </div>'; } ?>

Script diatas tidak berdiri sendiri, akan tetapi memerlukan script lain yaitu class paging, config dan script detail untuk menampilkan berita secara keseluruhan. Sekian dulu pembahasan kita kali ini, jangan lupa klik LIKE atau tuliskan komentar / pertanyaan anda jika ada beberapa hal yang dimengerti dari pembahasan diatas. selamat mencoba dan Salam kreatif Download contoh script readmore

Anda mungkin juga menyukai