PHP + MySQL
Apa Itu MySQL MySQL adalah salah satu jenis database, tempat meletakkan data secara terstruktur berupa tabel-tabel dan kita bisa melakukan query atau mengolah data tersebut dengan SQL (Structured Query Languange)
Koneksi ke MySQL Melalui PHP Untuk melakukan koneksi ke MySQL kita menggunakan fungsi mysql_connect() Sintaks : mysql_connect(host, username, password) Contoh : <?php $koneksi = mysql_connect("localhost","root",""); if($koneksi){ echo "Koneksi berhasil"; } else{ echo "Gagal"; } ?> Jika anda telah berhasil koneksi ke MySQL, anda bisa melakukan apapun terhadap database tersebut tergantung hak-hak anda, anda bisa buat database, buat tabel dan melakukan query
Cara Membuat Database di MySQL
Cara Membuat Tabel
Membuat Tabel Melalui PHP dan Query Selain melalui phpmyadmin, kita juga bisa membuat tabel langsung melalui PHP, dimana kita mengeksekusi query CREATE TABLE, contoh : <?php mysql_connect("localhost","root",""); //koneksi ke MySQL mysql_select_db("databaseku"); //Pilih database $query = "CREATE TABLE datakaryawan( karyawanid int(5) auto_increment primary key, nama varchar(30), tgl_lahir date, kelamin varchar(10), alamat tinytext )"; $buat = mysql_query($query); //jalankan query if($buat){ echo "Tabel datakaryawan berhasil dibuat"; } Else { echo "Gagal"; } ?>
Manipulasi Tabel MySQL Cara Insert ke Tabel MySQL Cara Menampilkan Rows Tabel MySQL Cara Delete Rows Tabel MySQL Cara Update Tabel MySQL mysql_num_rows - Menghitung jumlah baris dari query yang dihasilkan Contoh Buku Tamu
Cara Insert ke Tabel MySQL forminput.html <html> <head> <title>Input data</title> </head> <body> <h2>Input Data Karyawan</h2> <form action="inputdata.php" method="post"> Nama : <br> <input type="text" name="nama"><p> Tanggal Lahir :<br> <input type="text" name="tgl">Format yyyy-mm-dd<p> Jenis Kelamin :<br> <select name="kelamin"> <option>Laki-laki</option> <option>Perempuan</option> </select> <p> Alamat :<br> <textarea cols="30" rows="5" name="alamat"></textarea> <p> <input type="submit"> </form> </body> </html> Kode di atas adalah kode HTML untuk membuat form inputan, yang nantinya akan kita masukkan ke database. Pada tag <form action="inputdata.php" method="post">, action berarti kode PHP yang akan memproses inputan jika diklik tombol submit. Methode yang digunakan adalah POST. Secara umum ada 2 metode pengiriman data ke server, yaitu POST dan GET. Bedanya jika metode GET, parameter akan ditampilkan di URL.
Query INSERT Query INSERT adalah perintah SQL untuk memasukkan data ke tabel di database MySQL Sintaks SQL : INSERT INTO nama_tabel [(col_name,...)] VALUES(nilai1, nilai2,...) Contoh : INSERT INTO datakaryawan VALUES(null,'Desrizal','1981-12-13','Laki-laki','Jl. raya No. 12, Pekanbaru') Kode di atas adalah SQL, cara menjalankannya melalui PHP adalah dengan menggunakan fungsi mysql_query().
mysql_connect("localhost","root",""); mysql_select_db("databaseku"); inputdata.php <?php mysql_connect("localhost","root",""); mysql_select_db("databaseku"); $nama = htmlspecialchars($_POST['nama']); $tgl = htmlspecialchars($_POST['tgl']); $kelamin = htmlspecialchars($_POST['kelamin']); $alamat = htmlspecialchars($_POST['alamat']); $masuk = mysql_query("INSERT INTO datakaryawan VALUES(null, '$nama','$tgl','$kelamin','$alamat')"); if($masuk) { echo "Data berhasil diinput"; }else{ echo "Gagal"; } ?> Untuk mengambil data dari form HTML dengan metode POST adalah $_POST['namafield'] Untuk mengambil data dari form HTML dengan metode GET adalah $_GET['namafield'] htmlspecialchars() berguna untuk mengubah kode HTML < dan > menjadi < dan > gunanya untuk keamanan, jika ada user yang nakal mengetikkan kode HTML yang merusak penampilan web kita. null artinya tidak ada nilai, karena pada saat kita buat create tabel datakaryawan, field karyawanid diset auto_incerement, artinya akan otomatis berisi nilai integer yang berurut
Cara Menampilkan Rows Tabel MySQL Setelah kita belajar bagaimana menginput data dari form ke tabel di database mysql, sekarang kita belajar mengambil data dari tabel di MySQL. Langkah-langkahnya adalah sebagai berikut : Koneksi ke database MySQL, gunakan fungsi mysql_connect() Pilih database, gunakan fungsi mysql_select_db() Lakukan query SELECT, gunakan fungsi mysql_query() Sintaks SQL : SELECT nama_field FROM nama_tabel Contoh : SELECT nama, tgl_lahir FROM datakaryawan Atau, jika ingin memilih seluruh field, gunakan tanda bintang (*) SELECT * FROM datakaryawan Masukkan hasil query ke dalam array, gunakan fungsi mysql_fetch_array() Print data dari array, gunakan fungsi echo
mysql_connect("localhost","root",""); mysql_select_db("databaseku"); tampil.php <?php mysql_connect("localhost","root",""); mysql_select_db("databaseku"); $ambildata = mysql_query("SELECT * FROM datakaryawan"); while($data = mysql_fetch_array($ambildata)) { echo "<a href=detail.php?no=".$data['karyawanid'].">".$data['nama']."</a> | "; echo "<a href=delete.php?no=".$data['karyawanid'].">delete</a><br>"; } ?>
Cara Delete Rows Tabel MySQL Untuk mendelete data yang ada di database adalah dengan cara melakukan query DELETE Sintaks SQL: DELETE FROM nama_tabel WHERE namafield=kondisi Contoh : DELETE FROM datakaryawan WHERE karyawanid=2 Pada contoh tampil di atas, jika anda jalankan akan ada link delete, yang kalau diklik akan mengarah file delete php, misal : delete.php?no=1
delete.php <?php mysql_connect("localhost","root",""); mysql_select_db("databaseku"); $nomor = $_GET['no']; $del = mysql_query("DELETE FROM datakaryawan WHERE karyawanid=$nomor"); if($del){ echo "Data berhasil di delete"; }else{ echo "Gagal"; } ?>
Cara Update Tabel MySQL Untuk melakukan update database mysql kita harus melakukan query UPDATE Sintaks SQL : UPDATE nama_tabel SET nama_field=nilai, nama_field2=nilai2,... WHERE nama_field=kondisi Contoh : UPDATE datakarayawan SET nama='Desrizal', alamat='Tembagapura' WHERE karyawanid=1
Buat form untuk Update, detail.php <form action="update.php" method="post"> <?php mysql_connect("localhost","root",""); mysql_select_db("databaseku"); $nomor = $_GET['no']; $data = mysql_query("SELECT * FROM datakaryawan WHERE karyawanid=$nomor"); while($d = mysql_fetch_array($data)) { echo "Karyawan id : ".$d['karyawanid']."<p>"; echo "<input type=\"hidden\" name=\"id\" value=\"".$d['karyawanid']."\">"; echo "Nama :<br>"; echo "<input type=\"text\" name=nama value=\"".$d['nama']."\"><p>"; echo "Jenis Kelamin :<br>"; echo "<select name=kelamin>";
if($d['kelamin']=="Laki-laki"){ echo "<option selected>Laki-laki</option> <option>Perempuan</option>\n"; }else{ echo "<option>Laki-laki</option> <option selected>Perempuan</option>\n"; } echo "</select><p>"; echo "Alamat :<br>"; echo "<textarea name=alamat>".$d['alamat']."</textarea><p>"; } ?> <input type=submit value=update> </form>
Jika form pada kode diatas diklik, maka akan menjalankan file update Jika form pada kode diatas diklik, maka akan menjalankan file update.php <?php mysql_connect("localhost","root",""); mysql_select_db("databaseku"); $id = htmlspecialchars($_POST['id']); $nama = htmlspecialchars($_POST['nama']); $kelamin = htmlspecialchars($_POST['kelamin']); $alamat = htmlspecialchars($_POST['alamat']); $update = mysql_query("UPDATE datakaryawan SET nama='$nama', kelamin='$kelamin', alamat='$kelamin' WHERE karyawanid=$id"); if($update){ echo "Data berhasil diupdate"; }else{ echo "gagal"; } ?>
mysql_num_rows Fungsi : Menghitung jumlah baris dari query yang dihasilkan Sintaks : mysql_num_rows ( resource $result ) Parameter : $result, hasil dari query yang sudah dijalankan. Contoh : <?php mysql_connect("localhost","root",""); / mysql_select_db("databaseku"); $query = mysql_query("SELECT * FROM datakaryawan WHERE kelamin='Perempuan'"); $jumlah = mysql_num_rows($query); echo "Jumlah karyawan Perempuan adalah : $jumlah orang"; ?>
Contoh Buku Tamu Sekarang mari kita lihat contoh lainnya, yaitu buku tamu. Struktur tabel bukutamu di MySQL CREATE TABLE `bukutamu` ( `nomor` int(10) NOT NULL auto_increment, `nama` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `waktu` varchar(30) NOT NULL, `komentar` text NOT NULL, PRIMARY KEY (`nomor`) )
bukutamu.php <html> <head><title>Buku Tamu</title></head> <body> <font face=arial size=2> <h2>Buku Tamu</h2> <form action="isibukutamu.php" method="post"> Nama:<br> <input type="text" name="nama"> <p> Email:<br> <input type="text" name="email"> <p> Komentar:<br> <textarea name="komentar" cols=40 rows=10></textarea> <p><input type="submit" value="Kirim"> </form> <hr>
<!---kode PHP untuk menampilkan bukutamu-------> bukutamu.php (lanjutan) <!---kode PHP untuk menampilkan bukutamu-------> <?php mysql_connect("localhost","root",""); mysql_select_db("databaseku"); $data = mysql_query("SELECT * FROM bukutamu ORDER BY nomor DESC"); $w = 1; while($d=mysql_fetch_array($data)) { //buat warna selang-seling if($w == 1){ $warna = "#ffffff"; $w = 0;} else{$warna = "#efefef"; $w = 1; } echo "<div style=\"background- color:$warna;padding:5\">"; echo "Nama : ".$d['nama']."<br>"; echo "Email : ".$d['email']."<br>"; echo "<font size=1>Waktu : ".$d['waktu']."</font><br>"; echo "<b>Komentar :</b><br>".$d['komentar']; echo "</div><p>\n"; } ?> </font> </body> </html>
isibukutamu.php <?php mysql_connect("localhost","root",""); mysql_select_db("databaseku"); $nama = htmlspecialchars($_POST['nama']); $email = htmlspecialchars($_POST['email']); $komentar = htmlspecialchars($_POST['komentar']); $waktu = date("H:i d M Y"); //jika user tekan enter atau barisbaru, kasih tag <br> $komentar = nl2br($komentar); $isi = mysql_query("INSERT INTO bukutamu VALUES(null,'$nama','$email','$waktu','$komentar')"); if($isi){ header("location:bukutamu.php"); }else{ echo "Gagal"; } ?>
Bersambung