Cara Insert Edit Delete di MySQL PHP

1. Cara Insert ke Tabel MySQL

Pada tutorial sebelumnya kita telah belajar membuat tabel di MySQL. Sekarang mari kita belajar mengisi tabel tersebut, di mana inputan berasal dari form HTML.

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(). Untuk lebih jelas kita lihat contoh di 
bawah :

inputdata.php
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");

//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");

//ambil data dari form method POST
$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 &lt; dan &gt; 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

2. 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 :
  1. Koneksi ke database MySQL, gunakan fungsi mysql_connect()
  2. Pilih database, gunakan fungsi mysql_select_db()
  3. 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
    
  4. Masukkan hasil query ke dalam array, gunakan fungsi mysql_fetch_array()
  5. Print data dari array, gunakan fungsi echo
Sekarang kita lihat contoh kodenya :
tampil.php
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");

//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");

//lakukan query select

$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>";
}
?>

3. 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

Sekarang mari kita buat kode PHPnya
delete.php
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");

//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");

//ambil nilai variabel no yang diambil dari URL
$nomor = $_GET['no'];

//lakukan query DELETE
$del = mysql_query("DELETE FROM datakaryawan WHERE karyawanid=$nomor");
if($del){
    echo "Data berhasil di delete";
}else{
    echo "Gagal";
}
?>

4. 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

Oke mari sekarang kita buat program untuk update data karyawan. Pada contoh 
tampil.php, jika nama karyawan diklik akan menuju file detail.php

Buat form untuk Update, detail.php
<form action="update.php" method="post">

<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");

//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");

//ambil nilai variabel no yang diambil dari URL
$nomor = $_GET['no'];

//lakukan query SELECT
$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.php
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");

//Pilih database tempat tabel akan dibuat
mysql_select_db("databaseku");

//ambil nilai variabel no yang diambil dari form POST
$id = htmlspecialchars($_POST['id']);
$nama = htmlspecialchars($_POST['nama']);
$kelamin = htmlspecialchars($_POST['kelamin']);
$alamat = htmlspecialchars($_POST['alamat']);

//lakukan query update

$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
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");

//Pilih database tempat tabel akan dibuat
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";
?>

6. 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------->
<?php
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");

//Pilih database tempat tabel akan dibuat
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
//lakukan koneksi ke MySQL
mysql_connect("localhost","root","");

//Pilih database tempat tabel akan dibuat
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";
}
?>
=================================================================

PENGENALAN PHP

1. Apa Itu PHP?

  • PHP adalah singkatan dari PHP : Hypertext Preprocessor
  • PHP adalah bahasa scripting server-side, artinya di jalankan di server, kemudian outputnya dikirim ke client (browser)
  • PHP digunakan untuk membuat aplikasi web
  • PHP mendukung banyak database (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, dll.)

2. Instalasi PHP

Untuk menjalankan PHP anda perlu Web Server seperti Apache, PHP Interpreter, MySQL sebagai database. Saat ini ada banyak paket PHP+Apache+MySQL yang memudahkan anda untuk instal PHP dengan mudah. Silahkan Download di salah satu situs-situs berikut, kemudian ikuti petunjuk instalasi masing-masing paket.
Kode PHP di jalankan di browser, terlebih dahulu harus dijalankan Apache Web Server, kemudian di browser dijalankan di localhost.
Misal kita buat file php, yaitu : tes.php, yang disimpan di document root  atau folder www maka di browser kita ketik url di alamatnya adalah : http://localhost/tes.php

3. Sintaks PHP

Kode PHP di tulis di teks editor, sama halnya seperti HTML. Kode PHP bisa digabung atau disisipkan dengan kode HTML, Javascript, CSS dan script lainnya untuk membuat halaman web.
  • Penulisan kode PHP harus di awali dengan <?php dan diakhiri dengan ?>
  • Untuk mengakhiri baris kode PHP harus diberi tanda titik koma (;) di akhir baris kode PHP
  • Untuk penulisan komentar di awali tanda // atau antara /* dan */
Contoh :
<html>
<body>
<?php 
echo "Hello World";
//ini komentar, tidak akan dieksekusi
?>
</body>
</html>
Pada contoh di atas, di browser akan tercetak tulisan Hello World

4. Variabel di PHP

Variabel di PHP diawali dengan tanda dollar ($) diikuti dengan nama variabel. Nama variabel adalah case-sensitive, artinya huruf besar dan huruf kecil adalah berbeda. Contoh :
<html>
<body>
<?php
$teks="Hello World";
echo $teks;                   //Hasilnya Hello World
?>
</body>
</html>
Untuk menggabungkan dua variabel atau lebih gunakan operator titik (.) atau langsung ditulis diantara tanda kutip, contoh :
<?php
$txt1 = "Hello World";
$txt2 = "1234";
$nama = "Desrizal";
echo $txt1."-".$txt2 ;         //Hasilnya Hello World-1234
echo "Nama saya : $nama";      //hasilnya Nama saya : Desrizal
?>

5. Operator di PHP

Operator Aritmatika

Operator Deskripsi Contoh Hasil
+ Penambahan 3 + 4 7
- Pengurangan 12 - 6 6
* Pengalian 3 * 3 9
/ Pembagian 4 / 2 2
% Modulus (sisa hasil pembagian) 5 % 2
10 % 8
10 % 2
1
2
0
++ Penambahan satu satu x = 6
x++
x = 7
-- Pengurangan satu satu x = 9
x--
x = 8
Contoh :
<?php
$x = 10;
$y = 4;

$a = $x + $y;
echo $a."<br>";        //hasilnya 14

$b = $x - $y;
echo $b."<br>";        //hasilnya 6

$c = $x * $y;
echo $c."<br>";        //hasilnya 40

$d = $x / $y;
echo $d."<br>";        //hasilnya 2.5

$e = $x % $y;
echo $e."<br>";        //hasilnya 2
?>

Operator Pembanding

Operator Deskripsi
== Sama dengan
!= Tidak sama dengan
> Lebih besar dari
< Lebih kecil dari
>= Lebih besar sama dengan
<= Lebih kecil sama dengan
Contoh :
<?php
$x = 10;

if($x > 10){
    echo "X lebih besar dari 10";
}else if($x == 10){
    echo "X sama dengan 10";
}else if($x < 10){
    echo "X kecil dari 10";
}
//Hasil X sama dengan 10
?>

Operator Logikal

Operator Deskripsi
&& Dan
|| Atau
! Bukan
Contoh :
<?php
$x = 10;
$y = 5;
if($x > 8 && $y < 6){
    echo "TRUE";
}else{
    echo "FALSE";
}
//Hasilnya TRUE
?>

6. Kondisional di PHP

Kondisional berguna untuk mengecek suatu kondisi dan melakukan suatu kode jika kondisi tersebut benar atau salah.

if

Sintaks :
if(kondisi){
    kode yang dijalankan jika benar
}

Contoh :
<?php
$x = 10;
if($x == 10){
    echo "Hai Apa kabar";
}
?>

if - else

Sintaks :
if(kondisi){
    kode yang dijalankan jika benar
}else{
    kode yang dijalankan jika salah
}
Contoh :
<?php
$x = 5;
if($x == 10){
    echo "Hai Apa kabar";
}else{
    echo "X tidak sama dengan 10";
}
?>

if - else if - else

Jika anda membutuhkan kondisi yang banyak
Sintaks :
if(kondisi 1){
    kode yang dijalankan jika kondisi 1 benar
}else if(kondisi 2){
    kode yang dijalankan jika kondisi 2 benar
}else if(kondisi 3){
    kode yang dijalankan jika kondisi 3 benar
}else{
    kode jika salah satu kondisi di atas tidak ada yang benar
}
Contoh :
<?php
$nilai = 80;

if($nilai >= 85){
    echo "A";
}else if($nilai >= 70 && $nilai < 85){
    echo "B";
}else if($nilai >= 60 && $nilai < 70){
    echo "C";
}else{
    echo "D";
}
?>

switch

Sama seperti if - else if - else, berguna jika membutuhkan kondisi yang banyak
Sintaks :
switch(ekspresi){
    case kondisi1 :
        kode yang dijalankan jika kondisi1 benar;
        break;
    case kondisi2 :
        kode yang dijalankan jika kondisi2 benar;
        break;
    case kondisi3 :
        kode yang dijalankan jika kondisi3 benar;
        break;
}
Contoh :
<?php
$buah = "mangga";
switch ($buah) {
    case "apple":
        echo "buahnya adalah apple";
        break;
    case "mangga":
        echo "buahnya adalah mangga";
        break;
    case "jambu":
        echo "buahnya adalah jambu";
        break;
}
?>

7. Looping (Pengulangan) di PHP

for

Berguna untuk pengulangan yang sudah ditentukan terlebih dahulu awalnya berapa, dijalankan sampai kondisi bagaimana.
Sintaks :
for(awal; kondisi; penambahan){
    kode untuk dijalankan
}
Contoh :
<?php
for ($i = 1; $i <= 10; $i++) {
    echo $i."<br>";
}
?>
while
Berguna untuk menjalankan suatu kode terus menerus selama kondisi bernilai TRUE
Sintaks :
while(kondisi){
    kode untuk dijalankan;
}
Contoh :
<?php
$i=1;
while($i<=5)
{
    echo "Nomor : " . $i . "<br />";
    $i++;
}
?>

foreach

Perulangan untuk array yang mempunyai nilai
Sintaks :
foreach (array as $value){
    statement
}
atau

foreach (array as $key => $value){
    statement
}
Contoh :
<?php
$arr = array("satu", "dua", "tiga");

foreach($arr as $key => $value) {
    echo "Key: $key; Value: $value<br />\n";
}
?>

Cara Membuat Semua Link Terbuka di Tab Baru