Membuat link read more pada daftar artikel dengan PHP mysql
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 :
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 = substr( $kalimat , 0 , 16 );
echo $output;
?>
dari kode tersebut didapatkan suatu output Pada hari minggu
Aturan yang digunakan adalah substr( note_1 , note_2 , note_3 ) dimana :
Aturan yang digunakan adalah substr( note_1 , note_2 , note_3 ) dimana :
- note_1 adalah kata / kalimat / paragraf yang akan kita potong
- note_2 adalah posisi awal dimulainya kata / kalimat / paragraf yang akan kita potong
- 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 = explode( "," , $kalimat);
echo $output[0];
?>
Dari kode tersebut, maka didapatkan output Pada hari minggu
Aturan yang digunakan adalah explode( note_1 , note_2 ) dimana :
Aturan yang digunakan adalah explode( note_1 , note_2 ) dimana :
- note_1 adalah sebagai penanda pada posisi dimana kata / kalimat / paragraf tersebut dipotong nanti
- 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 :
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 :
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.
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.
No comments:
Post a Comment