sumber: cobadibaca.com http://www.cobadibaca.com/2013/01/cara-membuat-slide-header-di-blog.html#ixzz2yT5HaYef Under Creative Commons License: Attribution

Rabu, 09 April 2014

Cara Membuat Input, View, Update, Delete Data (CRUD) dengan PDO PHP & MySQL

Ketika kita kuliah di jurusan yang ada hubungannya dengan coding, pasti suatu saat kita akan mengambil mata kuliah yang ada hubungannya dengan database alias basis data. Tentu saja dalam mata kuliah tersebut kita wajib mempelajari SQL (Structured Query Language), sebuah bahasa query untuk membuat RDBMS (Relational Database Management Systems) bertekuk lutut di hadapan kita.
Setelah kita paham tentang SQL tiba saatnya sang dosen memberi hadiah berupa tugas, tentu saja tugas yang diberikan tak pernah kita kerjakan sebelumnya yaitu mengaplikasikan SQL yang telah kita kuasai ke dalam sebuah bahasa pemrograman yang biasa disebut dengan PHP. Tapi tenang saja, berbekal ilmu dari mbah Google dan sedikit kreatifitas kita akan menjawab tantangan dosen tersebut.

A. Persiapan, Apa dan Bagaimana?
Jika kita berhadapan dengan bahasa pemrograman web mau tidak mau kita harus tau tentang HTML. Selain itu kita juga harus menginstal web server di komputer (atau laptop) kita. Web server PHP yang paling banyak digunakan dan mudah pengoperasiannya adalah XAMPP. XAMPP adalah software web server dimana Apache (server PHP) dan MySQL terintegrasi didalamnya, sehingga kita tidak perlu repot-repot menginstal Apache dan MySQL secara terpisah. Mengenai cara instalasi XAMPP silakan cari di Google karena di artikel ini hanya fokus pada masalah membuat aplikasi input, view, update dan delete data berbasis web dengan menggunakan PHP dan MySQL.


B. Let's Rock, Ayo Mainkan!

1. Pertama, buka XAMPP yang sudah kita instal lalu kita klik tombol start di sebelah Apache dan tombol start di sebelah MySQL sampai muncul tanda running. kemudian kita buka browser kesayangan kita baik itu Mozilla Firefox, Google Chrome atau lainnya, lalu arahkan ke alamat http://localhost/phpmyadmin, sampai disini kita telah berada di halaman PHPMyAdmin.

2. Buatlah sebuah database sesuai keinginan kita misalnya kita beri nama 'biodata' (tanpa tanda petik). Setelah itu, kita buat table baru yang kita beri nama 'tabel_biodata' misalnya. contoh SQLnya seperti berikut ini:
?
1
2
3
4
5
6
7
8
CREATE TABLE IF NOT EXISTS `tabel_biodata` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(50) NOT NULL,
  `jenis_kelamin` enum('Laki-Laki','Perempuan') NOT NULL,
  `alamat` varchar(100) NOT NULL,
  `no_hp` varchar(12) NOT NULL,
  PRIMARY KEY (`id`)
);

3. buat sebuah folder di folder C:\xampp\htdocs\ misalnya kita beri nama 'biodata'. Kemudian buka text editor kesayangan kita baik itu Notepad++, Adobe Dreamweaver, Geany, Gedit atau yang lainnya. Sekarang kita buat file untuk koneksi ke database mysql, Ketikkan mantra-mantra code program berikut ini (jangan di copy-paste loch!):
?
1
2
3
4
5
6
7
8
9
10
11
<?php
$dsn  = "mysql:dbname=biodata;host=localhost";
$user = "root";
$pass = "";
 
try {
    $dbh = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
    echo "Koneksi ke database gagal: ".$e->getMessage();
}
?>
lalu kita simpan dengan nama 'connect.php' di dalam folder 'C:\xampp\htdocs\biodata'.

4. Selanjutnya kita buat file baru untuk input data, ketikkan code program berikut ini:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<h1 align="center">Input Biodata</h1>
<fieldset style="width: 50%; margin: auto;">
    <legend>Form Input Biodata</legend>
     
    <form action="simpan.php" method="post">
        <p>
            Nama Lengkap
 
            <input type="text" name="nama" required />
        </p>
         
        <p>
            Jenis Kelamin
 
            <input type="radio" name="jenis_kelamin" value="Laki-Laki" id="laki-laki" /><label for="laki-laki">Laki-Laki</label>
            <input type="radio" name="jenis_kelamin" value="Perempuan" id="perempuan" /><label for="perempuan">Perempuan</label>
        </p>
         
        <p>
            Alamat Lengkap
 
            <textarea name="alamat" cols="50" required></textarea>
        </p>
         
        <p>
            Nomor Handphone
 
            <input type="text" name="no_hp" required />
        </p>
         
        <p>
            <input type="submit" value="Simpan" />
            <input type="reset" value="Reset" onclick="return confirm('hapus data yang telah diinput?')">
        </p>
    </form>
</fieldset>
 
 
<center><a href="index.php">≪ Tabel Biodata</a></center>
kita simpan dengan nama 'input.php', lalu coba kita akses di alamat 'http://localhost/biodata/input.php'. Tapi ini masih belum bisa menyimpan data, agar data kita bisa tersimpan kita lanjut ke langkah berikutnya.

5. Setelah kita membuat tampilan untuk input data, kita buat file untuk menyimpan data yang kita inputkan. Code programnya seperti berikut ini:
?
1
2
3
4
5
6
7
8
9
10
<?php
include 'connect.php';
 
if (isset($_POST)) {
    $sql = "INSERT INTO tabel_biodata VALUE ('', '$_POST[nama]', '$_POST[jenis_kelamin]', '$_POST[alamat]', '$_POST[no_hp]')";
    $dbh->exec($sql);
}
 
header("location:index.php");
?>
lalu kita simpan dengan nama 'simpan.php'. Lalu bagaimana untuk menampilkan datanya? lanjut ke langkah berikutnya.

6. Setelah diinput, kita akan melihat data kita dalam bentuk tabel. code program untuk menampilkan datanya seperti berikut ini:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
include 'connect.php';
?>
<style>
    tbody > tr:nth-child(2n+1) > td, tbody > tr:nth-child(2n+1) > th {
        background-color: #ededed;
    }
    table{
        width: 70%;
        margin: auto;
        border-collapse: collapse;
        box-shadow: darkgrey 3px;
    }
    thead tr {
        background-color: #36c2ff;
    }
</style>
 
<h1 align="center">Tabel Biodata</h1>
 
<center><a href="input.php">Input Biodata ≫ </a></center>
 
 
<table border="1">
    <thead>
        <tr>
            <th>No</th>
            <th>Nama</th>
            <th>Jenis Kelamin</th>
            <th>Alamat</th>
            <th>No Hp</th>
            <th>Pilihan</th>
        </tr>
    </thead>
     
    <tbody>
    <?php
    $sql = "SELECT * FROM tabel_biodata ORDER BY id";
    $no  = 1;
    foreach ($dbh->query($sql) as $data) :
    ?>
        <tr>
            <td><?php echo $no++; ?></td>
            <td><?php echo $data['nama'] ?></td>
            <td><?php echo $data['jenis_kelamin'] ?></td>
            <td><?php echo $data['alamat'] ?></td>
            <td><?php echo $data['no_hp'] ?></td>
            <td align="center">
                <a href="edit.php?id=<?php echo $data['id'] ?>">edit</a>
                   
                <a href="hapus.php?id=<?php echo $data['id'] ?>" onclick="return confirm('Anda yakin akan menghapus data?')">hapus</a>
            </td>
        </tr>
    <?php
    endforeach;
    ?>
    </tbody>
</table>
lalu simpan dengan nama 'index.php' agar jika kita buka alamat 'http://localhost/biodata' langsung tampil tabel datanya.

7. Selanjutnya kita akan membuat file agar data kita yang sudah masuk ke database bisa di edit lagi. Berikut ini code programnya:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
include 'connect.php';
if (isset($_GET['id'])) {
    $query = $dbh->query("SELECT * FROM tabel_biodata WHERE id = '$_GET[id]'");
    $data  = $query->fetch(PDO::FETCH_ASSOC);
} else {
    echo "ID tidak tersedia!
<a href='index.php'>Kembali</a>";
    exit();
}
 
if ($data === false) {
    echo "Data tidak ditemukan!
<a href='index.php'>Kembali</a>";
    exit();
}
?>
<h1 align="center">Edit Biodata</h1>
<fieldset style="width: 50%; margin: auto;">
    <legend>Form Input Biodata</legend>
     
    <form action="update.php" method="post">
        <input type="hidden" name="id" value="<?php echo $data['id']; ?>" />
        <p>
            Nama Lengkap
 
            <input type="text" name="nama" required value="<?php echo $data['nama']; ?>"/>
        </p>
         
        <p>
            Jenis Kelamin
 
            <?php if ($data['jenis_kelamin'] === "Laki-Laki") : ?>
            <input type="radio" name="jenis_kelamin" value="Laki-Laki" id="laki-laki" checked /><label for="laki-laki">Laki-Laki</label>
            <input type="radio" name="jenis_kelamin" value="Perempuan" id="perempuan" /><label for="perempuan">Perempuan</label>
            <?php else : ?>
            <input type="radio" name="jenis_kelamin" value="Laki-Laki" id="laki-laki" /><label for="laki-laki">Laki-Laki</label>
            <input type="radio" name="jenis_kelamin" value="Perempuan" id="perempuan" checked /><label for="perempuan">Perempuan</label>
            <?php endif; ?>
        </p>
         
        <p>
            Alamat Lengkap
 
            <textarea name="alamat" cols="50" required><?php echo $data['alamat']; ?></textarea>
        </p>
         
        <p>
            Nomor Handphone
 
            <input type="text" name="no_hp" required value="<?php echo $data['no_hp']; ?>" />
        </p>
         
        <p>
            <input type="submit" value="Simpan" />
            <input type="reset" value="Reset" onclick="return confirm('hapus data yang telah diinput?')">
        </p>
    </form>
</fieldset>
 
 
<center><a href="index.php">≪ Tabel Biodata</a></center>
lalu kita simpan dengan nama 'edit.php'.

8. Selanjutnya kita akan membuat file yang bertugas mengupdate data yang telah kita edit. berikut code programnya :
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
include 'connect.php';
 
if (isset($_POST)) {
    $sql = "UPDATE tabel_biodata SET nama = '$_POST[nama]',
                                     jenis_kelamin = '$_POST[jenis_kelamin]',
                                     alamat = '$_POST[alamat]',
                                     no_hp  = '$_POST[no_hp]'
                                 WHERE id = '$_POST[id]' ";
    $dbh->exec($sql);
}
 
header("location:index.php");
?>
lalu kita simpan dengan nama 'update.php'.

9. Nah, bagian terakhir adalah membuat file yang bertugas untuk menghapus data yang kita pilih untuk dihapus, code programnya seperti berikut ini:
?
1
2
3
4
5
6
7
<?php
include 'connect.php';
if (isset($_GET['id'])) {
    $dbh->exec("DELETE FROM tabel_biodata WHERE id = '$_GET[id]'");
}
header("location:index.php")
?>
kita simpan file tersebut dengan nama 'hapus.php'.

0 komentar:

Posting Komentar