Saturday, January 31, 2015

Membuat CRUD dengan PHP Berbasis Object (OOP)

Selamat malem teman-teman, ini saya akan berbagi tentang pemograman berbasis Object (OOP) dalam membuat aplikasi CRUD. pada pemograman PHP.  untuk langkah-langkah adalah sebagai berikut :
  • Pertama buat database terlebih dahulu, untuk mempermudah database dapat di unduh. 

  • Kedua membuat file php, dengan nama index.php, dengan coding dibawah ini :

<?
// memanggil file koneksi
include 'koneksi_class.php';
// instance objek db
$db = new database();
// koneksi ke MySQL via method
$db->connectMySQL();
// proses hapus data
if (isset($_GET['aksi'])) {
    if ($_GET['aksi'] == 'hapus') {
        // baca ID dari parameter ID Anggota yang akan dihapus
        $id = $_GET['id_agt'];
        // proses hapus data anggota berdasarkan ID via method
        $db->hapusAnggota($id);
    } elseif ($_GET['aksi'] == 'tambah') {
        echo"<br>
<form method=POST action='?aksi=tambahAnggota'>
<table>
<tr><td>Nama</td><td><input type=text name='nama'></td></tr>
<tr><td>Alamat</td><td><input type=text name='alamat'></td></tr>
<tr><td>Telpon</td><td><input type=text name='telpon'></td></tr>
<tr><td></td><td><input type=submit value='simpan'></td></tr>
</table>
</form>
";
    } elseif ($_GET['aksi'] == 'tambahAnggota') {
        $nama = $_POST['nama'];
        $alamat = $_POST['alamat'];
        $telpon = $_POST['telpon'];
        $db->tambahAnggota($nama, $alamat, $telpon);
    }
// proses edit data
    else if ($_GET['aksi'] == 'edit') {
        // baca ID anggota yang akan diedit
        $id = $_GET['id_agt'];
// menampilkan form edit anggota pakai method bacaDataAnggota()
        ?>   
 
        <form method="post" action="<?php $_SERVER['PHP_SELF'] ?>?aksi=update">
            <table>
                <tr><td>Nama Anggota</td><td>:</td>
                    <td><input type="text" name="nama" value="<?php echo $db->bacaDataAnggota('nama', $id); ?>"></td>
                </tr>
                <tr><td>Alamat</td><td>:</td>
                    <td><input type="text" name="alamat" value="<?php echo $db->bacaDataAnggota('alamat', $id); ?>" size="40"></td>
                </tr>
                <tr><td>Telpon</td><td>:</td>
                    <td><input type="text" name="telpon" value="<?php echo $db->bacaDataAnggota('telpon', $id); ?>"></td>
                </tr> 
            </table>
            <input type="hidden" name="id" value="<?php echo $id; ?>">
            <input type="submit" name="submit" value="Update Data">
        </form>
 
        <?php
    } else if ($_GET['aksi'] == 'update') {
        // proses update data anggota
        $id = $_POST['id'];
        $nama = $_POST['nama'];
        $alamat = $_POST['alamat'];
        $telpon = $_POST['telpon'];
        // update data via method
        $db->updateDataAnggota($id, $nama, $alamat, $telpon);
    }
}
// buat array data anggota dari method tampilAnggota()
$arrayanggota = $db->tampilAnggota();
echo"</table> <br> <a href='?aksi=tambah'>TAMBAH</a>";
echo "<table border='1' cellpadding='5'>
      <tr><th>No</th>
           <th>Nama Anggota</th>
           <th>Alamat</th>
           <th>Telpon</th>
           <th>Aksi</th>
       </tr>";
$i = 1;
foreach ($arrayanggota as $data) {
    echo "<tr><td>" . $i . "</td> 
               <td>" . $data['nama'] . "</td>
               <td>" . $data['alamat'] . "</td>
               <td>" . $data['telpon'] . "</td>
               <td><a href='" . $_SERVER['PHP_SELF'] . "?aksi=edit&id_agt=" . $data['id_anggota'] . "'>Edit</a> |
                   <a href='" . $_SERVER['PHP_SELF'] . "?aksi=hapus&id_agt=" . $data['id_anggota'] . "'>Hapus</a></td>
            </tr>";
    $i++;
}
echo "</table>";

  • Ketiga membuat file php dengan nama koneksi_class.php coding dibawah ini :
<?
class database {
    // properti
    private $dbHost = "localhost";
    private $dbUser = "root";
    private $dbPass = "1";
    private $dbName = "crudoop";
    // method koneksi MySQL
    function connectMySQL() {
        mysql_connect($this->dbHost, $this->dbUser, $this->dbPass);
        mysql_select_db($this->dbName) or die("Database tidak ada!");
    }
    // method tambah data (insert)  
    function tambahAnggota($nama, $alamat, $telpon) {
        $query = "INSERT INTO anggota (nama, alamat, telpon) VALUES ('$nama', '$alamat','$telpon')";
        $hasil = mysql_query($query);
        if ($hasil)
            echo"<meta http-equiv='refresh' content='0; url=index.php'>";
        else
            echo "Data Anggota gagal disimpan ke database";
    }
    // method tampil data   
    function tampilAnggota() {
        $query = mysql_query("SELECT * FROM anggota ORDER BY id_anggota");
        while ($row = mysql_fetch_array($query))
            $data[] = $row;
        return $data;
    }
    // method hapus data
    function hapusAnggota($id_agt) {
        $query = mysql_query("DELETE FROM anggota WHERE id_anggota='$id_agt'");
        echo "<p>Data Anggota dengan ID " . $id_agt . " sudah dihapus</p>";
    }
    // method membaca data anggota 
    function bacaDataAnggota($field, $id_agt) {
        $query = "SELECT * FROM anggota WHERE id_anggota = '$id_agt'";
        $hasil = mysql_query($query);
        $data = mysql_fetch_array($hasil);
        if ($field == 'nama')
            return $data['nama'];
        else if ($field == 'alamat')
            return $data['alamat'];
        else if ($field == 'telpon')
            return $data['telpon'];
    }
    // method untuk proses update data anggota
    function updateDataAnggota($id_anggota, $nama, $alamat, $telpon) {
        $query = "UPDATE anggota SET    nama='$nama', alamat ='$alamat', telpon='$telpon' WHERE id_anggota='$id_anggota'";
        mysql_query($query);
        echo "<p>Data Anggota sudah di update.</p>";
    }
}

Soureco code dapat di unduh disini

No comments :

Post a Comment