Rabu, 01 Juli 2009

PHP dan MySQL

APLIKASI PHP dan MySQL dalam SITUS BERITA

Mungkin anda sudah mulai jenuh dari isi buku ini, sepanjang membaca mempelajari buku ini anda belum membuat satu aplikasipun, sekaranglah saatnya!!! Dengan bermodalkan
pengetahuan sekilas mengenai PHP, MySQL dan HTML pada bagian awal buku ini, anda sudah mampu membuat situs berita yang sederhana.

Anda pasti sudah sering mengunjungi situs berita seperti detik.com (http://detik.com) atau kompas (http://kcm.com). Pada suatu situs berita akan ada halaman depan dimana pengunjung dapat membaca berita, selain itu juga ada halaman khusus untuk wartawan atau administrator untuk mengupdate berita, sehingga berita akan dengan mudah diupdate tanpa bersentuhan dengan HTML. Coba bayangkan apabila situs semacam detik.com harus selalu mengubah tampilannya dengan mengedit html, padahal masuknya berita baru hampir setiap 5 menit.

HTML, disini berperan sebagai desain yang akan dilihat user melalui browser. MySQL sebagai database penyimpan setiap berita yang masuk. Sedang PHP akan mengambil berita dari database(mySQL) kemudian menampilkan secara dinamis kedalam HTML yang akan dibaca user. Jadi, user hanya akan tahu adanya HTML, sedangkan PHP dan MySQL operasinya tersembunyi di server.

Stuktur Database

Petama-tama buatlah sebuah database dengan nama 'berita_db'. Kemudian buat sebuah tabel untuk menyimpan berita dengan nama 'berita'.

CREATE TABLE 'berita' (
'id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'judul' VARCHAR( 255 ) NOT NULL ,
'isi' TEXT NOT NULL,
'tanggal' DATE NOT NULL , PRIMARY KEY ( 'id' )
);



Struktur tabel berita.

Tabel berita terdiri dari 4 field, yang pertama adalah id, field id merupakan identitas dari tiap baris pada tabel berita. Field id bisa kita analogikan sebagai nomor KTP dari tiap penduduk, dimana setiap penduduk mempunyai nomor KTP yang berbeda sebagai identitas uniq. Field id mempunyai atribut AUTO_INCREMENT yang berarti setiap anda memasukkan(INSERT) baris baru pada tabel berita dan nilai id nya tidak ditentukan, maka secara otomatis MySQL akan memasukkan nilai id. Field kedua, yaitu judul, yang berisi judul dari berita. Field ketiga, dengann nama isi, nantinya akan digunakan untuk menyimpan isi dari berita. Sedangkan field terakhir, yaitu tanggal digunakan untuk menyimpan tanggal masuknya suatu berita.

Bagian Tampilan Berita

Disini kita akan membuat tampilan untuk situs berita kita, bagian inilah yang nantinya akan diakses oleh orang secara umum. Secara umum yang dilakukan oleh bagian ini adalah connect ke database, kemudian mengambil berita yang akan ditampilkan dari database, baru menuliskannya ke browser.

Connect database

Buatlah file dengan nama index.php. Untuk dapat connect ke database MySQL melalui PHP, harus dilakukan 2 langkah sbb:

1. Connect ke MySQL dengan memasukkan host, username MySQL, dan password.
sintaksnya adalah sebagai berikut:
mysql_connect('host', 'username', 'password');

2. Memilih database yang akan digunakan.
sintaks:
mysql_select_db('nama_database');

Mengambil data dari database

PHP menyediakan fungsi khusus untuk query database MySQL, yaitu :
mysql_query("perintah mysql");

Untuk mengambil data dari tabel berita, digunakan perintah SELECT, yaitu:
"SELECT * FROM berita ORDER BY id DESC"

Dalam bahasa keseharian kita, perintah SELECT tadi berarti memilih semua field dari tabel berita dan diurutkan berdasarkan id secara menurun (dari besar menuju kecil). Mengapa datanya diurutkan dari besar ke kecil? Karena situs berita pasti menampilkan data mulai dari yang terbaru hingga data yang paling lama, padahal baris terbaru pada tabel akan diletakkan pada bagian akhir tabel.

Perintah SQL tadi selanjutnya di query dengan menggunakan mysql_query, dan hasilnya disimpan kedalam suatu variabel, agar nantinya variabel ini dapat diolah untuk menampilkan hasil query tadi.

contoh :
$result = mysql_query("SELECT * FROM berita ORDER BY id DESC");

Menampilkan data ke browser

Setelah kita mengambil data dari database, selanjutnya adalah menampilkannya ke browser, sehingga pengunjung dapat membaca berita terbaru. Untuk menampilkan hasil query ke browser, caranya adalah dengan mengkonversi hasil query kedalam array, kemudian dengan peintah while dituliskan datanya ke browser. Sebaiknya kita langsung memperhatikan contohnya sebagai berikut:

while ($data = mysql_fetch_row($result)){
echo "<hr/>";
echo "<b> $data[1] </b><br/>";
echo "$data[2] <br/>";
echo "tanggal: $data[3] <br/>";

mysql_fetch_row() adalah fungsi php yang digunakan untuk mengkonversi hasil query (pada contoh sebelumnya disimpan dalam variabel $result) kedalam array. Pada contoh diatas, hasil konversi yang berupa array disimpan dalam variabel $data. Kemudian program mengecek apakah proses pengkonversian berhasil, bila berhasil maka loop while dijalankan sehingga akan menuliskan nilai dari tiap nilai variabel array $data. Loop while akan terus berulang hingga mysql_fetch_row() mencapai baris terakhir dari data hasil query. Lalu apa yang dimaksud dengan $data[2], $data[3] dan semacamnya itu? $data[2] berarti isi dari field ketiga dari data hasil query select, ingat array secara default selalu diawali dari index 0. Jadi secara lengkapnya isi dari variabel array data adalah sebagai berikut:

$data[0] = nilai dari field id
$data[1] = nilai dari field judul
$data[2] = nilai dari field isi
$data[3] = nilai dari field tanggal
Perhatikan isi lengkap dari file index.php dibawah:

<?
// file : index.php
// membuat halaman untuk menampilkan berita

?>

<html>
<head>
<title>Situs Berita</title>
</head>

<body>

<?

// connect ke database

mysql_connect("localhost", "oggix", "password");
mysql_select_db("berita_db");

// mengambil data dari tabel

$result = mysql_query("SELECT * FROM berita ORDER BY id DESC");

// mengkonversi data kedalam array, dan menampilkannya kebrowser

while ($data = mysql_fetch_row($result)){
echo "<hr/>";
echo "<b> $data[1] </b><br/>";
echo "$data[2] <br/>";
echo "tanggal: $data[3] <br/>";
}

?>

</body>
</html>



Bagian Halaman Administrator/Wartawan

Pada bagian halaman administrator disediakan form untuk mengisi berita baru. Halaman ini tidak perlu dipublikasikan kepada khalayak, karena yang berhak mengisi berita hanyalah administrator dan wartawan situs berita anda. Secara umum yang dilakukan oleh bagian ini adalah setiap form berita diisi dan tombol submit diklik, maka program akan connect ke database, kemudian memasukkan isi dari form tadi ke database.

Membuat form isian berita

Pertama-tama buatlah sebuah form untuk mengisi berita, yang terdiri dari judul, isi berita, dan tombol submit. Form id dan tanggal tidak perlu dibuat karena field id akan diisi oleh MySQL secara otomatis, begitu pula field tanggal akan kita buat agar secara otomatis terisi tanggal pada saat itu.

<html>
<head>
<title>Administrator Situs Berita</title>
</head>
<body>
<form name="form1" method="post" action="">
Judul :
<input type="text" name="judul">
<br>
isi :<br>
<textarea name="isi" cols="45" rows="10"></textarea>
<br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Reset">
</form>
</body>
</html>

Memasukkan data kedalam database

Untuk memasukkan suatu data kedatabase digunakan perintah INSERT. Perhatikan contoh berikut:

INSERT INTO berita VALUES ('', '$judul', '$isi', NOW() );

Perintah diatas dapat diartikan memasukkan ke dalam tabel berita dengan nilai id = '', nilai judul adalah '$judul', nilai isi = '$isi', dan nilai tanggal = NOW ().

Nilai dari field id sengaja dikosongkan, karena apabila kosong maka MySQL secara otomatis akan menggantikannya dengan nilai angka sesuai urutan barisnya, ingat field id mempunyai atribut AUTO_INCREMENT. Field judul diisi dengan $judul, $judul merupakan variabel yang dikirim oleh form dari input judul. Field isi diisi dengan $isi dimana $isi adalah variabel yang dikirim oleh form dari input text isi. Sedangkan field tanggal diisi dengan NOW(), NOW () merupakan fungsi dari MySQL yang menghasilkan output tanggal saat ini, jadi hal ini berarti field tanggal diisi dengan tanggal saat itu.

Seperti halnya dalam mengambil data dari database(SELECT), pada saat memasukkan (INSERT) juga menggunakan fungsi mysql_query(), tapi ingat bahwa sebelum melakukan query kita harus connect kedatabase terlebih dahulu. Jadi perintah INSERT tersebut di query melalui PHP menjadi:

mysql_query("INSERT INTO berita ('', '$judul', '$isi', NOW() )");

Perhatikan isi dari file admin secara lengkap dibawah ini:

<?
// file : admin.php
// membuat aplikasi halaman admin untuk menambah berita

if ($submit) {
mysql_connect("localhost", "oggix", "password");
mysql_select_db("berita_db");
$result = mysql_query("INSERT INTO berita VALUES ('', '$judul', '$isi',
NOW() )");
if ($result) {
echo "Data Berhasil dimasukkan";
}
}
?>

<html>
<head>
<title>Administrator Situs Berita</title>
</head>

<body>
<form name="form1" method="post" action="">
Judul :
<input type="text" name="judul">
<br>
isi :<br>
<textarea name="isi" cols="45" rows="10"></textarea>
<br>
<input type="submit" name="submit" value="Submit">
<input type="reset" name=" " value="Reset">
</form>
</body>





Sumber :

ITCWeb Virginia University www.itc.virginia.edu

MySQL Manual www.mysql.com/documentation/

Developer Shed www.devshed.com

Pemrograman PHP4 bagi web programmer www.elexmedia.co.id

PHP Manual http://php.net
Modul HTML,PHP&MySQL BTC

Complete Idiots Guide To Creating an HTML4 web Page www.QueCorp.com

MySQL/PHP Database Application (IDG Books India)


Semoga Bermanfaat

Salam
By. KOKODA

Artikel yang berkaitan



1 komentar:

Anonim mengatakan...

kalo ditambahin gambar gimana ya caranya ? :)
jadi masing-masing berita punya 1 gambar, setiap slide itu berganti berita maka gambar akan berganti pula menyesuaikan beritanya

Posting Komentar

 

Template by KOKODA