Selamat Datang
Jangan Lupa Tinggalkan Komentar

Minggu, 17 Oktober 2010

Koneksikan PHP dengan MySQL

Oleh: Agung Novian

Saya menganggap Anda sudah memahami PHP dan MySQL, jika belum silakan mencari literasi lebih lengkap di internet, kunjungi http://www.php.net/ untuk lebih menguasai dasar-dasar PHP, kunjungi pula http://www.mysql.com/ untuk lebih memahami perintah-perintah pada MySQL.

Sekarang Anda akan menuju ke tahap berikutnya yaitu menghubungkan PHP dengan MySQL agar dapat membangun halaman web yang lebih dinamis. Pada pembahasan sebelumnya (viewtopic.php?f=16&t=126), Anda sudah membuat sebuah database dan sebuah tabel dengan nama “tabel_artikel”. Nah, mari kita coba untuk menghubungkan database tersebut dengan PHP.

Buatlah sebuah folder baru di alamat C:\XAMPP\htdocs namai dengan “phpmysql”. Jalankan Notepad++, mulailah mengetikkan script berikut ini:

<?php
/*
Mengumpulkan informasi untuk
konfigurasi dengan database
*/
$mysql_user = 'nama_pengguna';
$mysql_password = 'kata_sandi';
$mysql_database = 'nama_database';
$mysql_host = 'localhost';
?>


Pada pembahasan terdahulu (viewtopic.php?f=16&t=126), Anda sudah pernah mendaftarkan nama pengguna beserta password, dan nama database pada phpMyAdmin. Coba ingat-ingat lagi informasi yang Anda tuliskan, perhatikan script di atas, ubah informasi-informasi untuk: “nama_pengguna”, “kata_sandi”, “nama_database” sesuai dengan yang pernah Anda berikan.

Jika sudah, mari lanjutkan penulisan script nya.

<?php
/*
Mengumpulkan informasi untuk
konfigurasidengan database
*/
$mysql_user = 'agungnovian';
$mysql_password = '123456';
$mysql_database = 'database';
$mysql_host = 'localhost';

/*
Mengkoneksikan dengan MySQL,
jika koneksi gagal maka koneksi akan dimatikan
dan ditampilkan pesan error "mySQL tidak terkoneksi"
*/
$koneksi_sql = @ mysql_connect($mysql_host,$mysql_user,
$mysql_password) or die('mySQL tidak terkoneksi');

/*
memilih sebuah database pada mySQL,
jika koneksi gagal maka koneksi akan dimatikan
dan ditampilkan pesan error "Database tidak terkoneksi"
*/            
$koneksi_database =   mysql_select_db($mysql_database)
         or die('Database tidak terkoneksi');

?>


Simpan dengan nama “latihan1.php”. Coba uji melalui Mozilla Firefox dengan menuliskan http://localhost/phpmysql/latihan1.php pada address bar, jika pada halaman tertulis “mySQL tidak terkoneksi” berarti masih ada kesalahan dalam memasukkan data konfigurasi, perikasa nilai dari variabel $mysql_host, $mysql_user,atau $mysql_password. Refresh halaman browser Anda. Bila kemudian ditampilkan pesan “Database tidak terkoneksi”, maka periksa nilai pada $mysql_database.

Jika pada halaman browser tidak ditampilkan teks apapun, berarti koneksi berhasil. Lengkapi script sehingga seperti ini:

<html>
<head>
</head>
<body>
<?php
/*
Mengumpulkan informasi untuk
konfigurasi dengan database
*/

$mysql_user = 'agungnovian';
$mysql_password = '123456';
$mysql_database = 'databaseku';
$mysql_host = 'localhost';

/*
Mengkoneksikan dengan MySQL,
jika koneksi gagal maka koneksi akan dimatikan
dan ditampilkan pesan error "mySQL tidak terkoneksi"
*/
$koneksi_sql = @ mysql_connect(
         $mysql_host,$mysql_user,$mysql_password)
         or die('mySQL tidak terkoneksi');

/*
memilih sebuah database pada mySQL,
jika koneksi gagal maka koneksi akan dimatikan
dan ditampilkan pesan error "Database tidak terkoneksi"
*/            
$koneksi_database =   mysql_select_db($mysql_database)
         or die('Database tidak terkoneksi');
      
/*
Membuat perintah SQL (query)
untuk memilih isi dari tabel_artikel
*/
$query = "SELECT * FROM tabel_artikel ORDER BY idartikel DESC";

/*
Maksud perintah di atas adalah:
memilih semua field dari tabel_artikel,
diurutkan terbalik berdasarkan fields idartikel
*/

/*Menjalankan query*/
$hasil = mysql_query($query);

/* Jika perintah terlaksana dan memberikan hasil*/
if ($hasil){

   /*Melakukan pengulangan sebanyak data yanh didapat
   dan memecahnya ke dalam larik (array)
   dan menyimpannya ke dalam variabel $data
   */
   while($data = mysql_fetch_array($hasil)){

   /* Mengisi variabel $idartikel
dengan nilai dari larik $data
   pada bagian 'idartikel' */
   $idartikel = $data['idartikel'];

   /* dst... */
   $kategori = $data['kategori'];
   $judul = $data['judul'];
   $isi = $data['isi'];
   $tag = $data['tag'];

   /* menampilan hasil untuk halaman HTML pada elemen DIV */
echo "<div>\n";
echo "ID = ".$id." Judul = ".$judul;
echo " Isi = ".$isi." Tag = ".$tag."\n";
echo "</div>\n";
   }
}

?>
</body>
</html>


Silakan uji coba pada browser Anda.

Menyimpan data dari PHP ke MySQL
Anda sudah bisa mengkoneksikan PHP dengan MySQL dan menampilkan data dari tabel pada MySQL, sekarang tinggal bagaimana cara menyimpan data ke dalam tabel pada MySQL. Untuk keperluan tersebut, Anda membutuhkan sesuatu yang dinamakan form. Dalam HTML elemen form dibuat dengan tag <FORM>. Pada form akan terdapat elemen-elemen lain sebagai media input, untuk keperluan tersebut Anda akan menggunakan tag <INPUT>. Untuk pengenalan awal tentang form, cobalah ketikkan script berikut ini:

<html>
<head>
</head>
<body>
   <form name="namaform" method="post" action="">
   <!-- Membuat label -->
   <label for="input_name">Nama Anda</label>
      
   <!-- Membuat media input berupa textbox -->
   <input type="text" name="input_name" size="35"/>
   <br/>
      
   <!-- Membuat label -->
   <label for="input_sex">Jenis Kelamin</label>
      
   <!-- Membuat media input berupa radio button -->
   <input type="radio" name="input_sex" value="pria"
checked="1"/>Pria
   <input type="radio" name="input_sex"
value="wanita"/>Wanita
   <br/>
      
   <!-- Membuat label -->
   <label for="input_religion">Agama</label>
      
   <!-- Membuat media input berupa combobox -->
   <select name="input_religion"/>
   <!-- Daftar pilihan pada combobox -->
   <option value="pilih" selected >--Pilih Agama—
</option>
   <option value="islam">Islam</option>
   <option value="kristen">Kristen</option>
   <option value="katholik">Katholik</option>
   <option value="hindu">Hindu</option>
   <option value="budha">Budha</option>
   <option value="kepercayaan">Keercayaan</option>
   </select>
   <br/>
      
   <!-- Membuat label -->
   <label for="input_hobby">Hobby</label>
      
   <!-- Membuat media input berupa radio button -->
   <input type="checkbox" name="hobby_read"
value="Membaca" checked="1"/>Membaca
   <input type="checkbox"
name="hobby_write" value="Menulis"/>Menulis
   <input type="checkbox"
name="hobby_calculate" value="Menulis"/>Berhitung
   <br/>
      
   <!-- Membuat label -->
   <label for="input_about">Tentang</label>
      
   <!-- Membuat media input berupa radio button -->
   <textarea name="input_about" cols="30" rows="5"
>Ceritakan mengenai diri Anda</textarea>
   <br/>
      
   <!-- Membuat tombol submit -->
   <input type="submit" name="submit" value="Submit"/>
      
   <!-- Membuat tombol reset -->
   <input type="reset" name="reset" value="Reset"/>
   </form>
   </body>
</html>


Simpan dengan nama “latihan2.php” di alamat C:\XAMPP\htdocs\phpmysql.
Uji coba pada browser Anda.


Dalam mengirimkan data masukan yang diterima, form mempunyai dua metode pengiriman, yaitu POST dan GET. Untuk melihat perbedaanya silakan Anda ganti script di atas, pada bagian:
<form name="namaform" method="post" action="">


Menjadi:

<form name="namaform" method="get" action="">


Simpan ulang berkas “latihan2.php” Uji coba pada browser Anda, masukkan informasi yang diperlukan oleh form, kemudian klik tombol Submit. Coba lihat address bar pada browser Anda, di sana akan tertulis:

http://localhost/phpmysql/latihan2.php?input_name=Agung+Novian&input_sex=pria&input_religion=islam&hobby_read=Membaca&hobby_write=Menulis&input_about=Ceritakan+mengenai+diri+Anda&submit=Submit


Coba ubah kembali “method” dari “get” menjadi “post”.Simpan ulang berkas.Uji coba pada browser Anda, isikan informasi yang diperlukan, klik tombol Submit.Lihat address bar pada browser Anda.

http://localhost/phpmysql/latihan2.php


Sekarang Anda akan mencoba memasukkan data ke database MySQL. Buat dokumen baru di Notepad++, kemudian Anda tuliskan script berikut ini:

<html>
<head>
</head>
<body>
   <?php
   /*Mengkoneksikan database MySQL*/
   $mysql_user = 'agungnovian';
   $mysql_password = '123456';
   $mysql_database = 'databaseku';
   $mysql_host = 'localhost';
   
   $koneksi_sql = @ mysql_connect(
         $mysql_host,$mysql_user,$mysql_password)
         or die('mySQL tidak terkoneksi');
         
   $koneksi_database =   mysql_select_db($mysql_database)
         or die('Database tidak terkoneksi');
   ?>
   <form name="namaform" method="post"
action="latihan3.php">
   
      <label for="input_judul">Judul</label>
   <input type="text" name="input_judul" size="35"/>
   <br/>
      
   <label for="input_kategori">Kategori</label>
   <!-- Membuat media input berupa combobox -->
   <select name="input_kategori"/>
   <!-- Daftar pilihan pada combobox -->
   <option value="pilih" selected
>--Pilih Kategori--</option>
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
   <option value="6">6</option>
   </select>
   <br/>
      
   <label for="input_isi">Isi</label>
   <textarea name="input_isi" cols="30" rows="5"
></textarea>
   <br/>
      
   <label for="input_tag">Tag</label>
   <input type="text" name="input_tag" size="35"/>
      <br/>
      
   <input type="submit" name="submit" value="Submit"/>
   <input type="reset" name="reset" value="Reset"/>
      <br/>
      <br/>
      <?php
      /* Jika variabel submit diset*/
      if (isset($_POST['submit'])):
         /*
         Mengeset variabel-variabel
         berdasarkan data yang masuk
         melalui metode POST
         */
         $judul = $_POST['input_judul'];
         $kategori = $_POST['input_kategori'];
         $isi = $_POST['input_isi'];
         $tag = $_POST['input_tag'];
         
         /*
         Periksa apakah $judul kosong
         Jika kosong, maka keluar dari PHP
         (PHP tidak akan melanjutkan baris-baris
         yang dituliskan berikutnya)
         */
         if (empty($judul)){
         exit ('Judul tidak boleh kosong');
         }
         
         if (empty($kategori)){
         exit ('Kategori tidak boleh kosong');
         }
         
         if (empty($isi)){
         exit ('Isi tidak boleh kosong');
         }
         
         if (empty($tag)){
         exit ('Tag tidak boleh kosong');
         }
         
         /*
         Query untuk menanmbahkan
baris data baru pada tabel_artikel*/
         $query = "INSERT INTO tabel_artikel
(judul,kategori,isi,tag)VALUE
('$judul','$kategori','$isi','$tag')";
         
         /* Mengirimkan query dan menyimpan hasilnya
         pada variabel $hasil
         */
         $hasil = mysql_query($query);
         
         /*
         Bila proses penambahan data berhasil
         Tuliskan: :"Data berhasil disimpan"
         */
         if ($hasil):
             echo "Data berhasil disimpan";
         endif;
      endif;
      ?>
   </form>
   </body>
</html>


Simpan dengan nama “latihan3.php”. silakan uji coba melalui browser Anda. Isikan informasi yang diminta, klik tombol Submit.Ketikkan http://localhost/phpmysql/latihan1.php pada address bar. Lihat apakah data yang baru saja Anda masukkan benar-benar tersimpan?

Sekian dan terimakasih. Jika terdapat kesalahan dalam penyampaian, dimohon koreksinya.

-----------------------------
Salahm PHP + MySQL

Tidak ada komentar:

Posting Komentar