Senin, 03 Agustus 2015

Aplikasi CRUD (Create, Read, Update, Delete) Sederhana Dengan PHP dan MySQL

Membuat Aplikasi CRUD Sederhana dengan PHP dan MySQL. Seperti judulnya yaitu Membuat Aplikasi CRUD (Create, Read, Update, Delete) Sederhana dengan PHP dan MySQL. Jadi nanti kita akan membuat Aplikasi sederhanya bagaimana cara Create/insert data ke database, Read/Select/Menampilkan data dari database, Update/edit data dari database, dan Delete/hapus data dari database dengan menggunakan bahasa pemrograman PHP dan database MySQL.

Tutorial ini saya buat sangat mudah agar Anda yang pemula bisa mempelajarinya dengan mudah. Karena ini hanya basicnya saja, jadi tidak ada yang namanya kemanan dalam query ke database, saya bua sangat sederhana agar mudah dipelajari dengan mudah.
Syarat-syarat:
1.   System operasi windows 7
2.   Memiliki Program XAMPP
3.   Mengetahui dasar-dasar XAMPP

# Step 1. Database
Buatlah database pada XAMPP dengan nama Sesuai Keinginan anda akan tetapi saat ini saya contohkan adalah crud
Setelah Database dibuat maka buatlah table dengan kode script dibawah ini:
CREATE TABLE `siswa` (
  `siswa_id` int(11) NOT NULL auto_increment,
  `siswa_nis` int(20) NOT NULL,
  `siswa_nama` varchar(50) NOT NULL,
  `siswa_kelas` varchar(10) NOT NULL,
  `siswa_jurusan` varchar(30) NOT NULL,
  PRIMARY KEY  (`siswa_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
Dari script SQL di atas Anda akan mendapatkan sebuah table dengan namasiswa dengan field siswa_id, siswa_nis, siswa_nama, siswa_kelas, siswa_jurusan.

# Step 2. Koneksi Ke Database
Tahap selanjutnya adalah melakukan koneksi ke database, file untuk koneksi ke database adalah koneksi.php.

Cara menyimpannya buka c://xampp/htdocs/ dan buat folder “crud” simpan file tersebut didalam c://xampp/htdocs/crud/

Silahkan buat file baru dan beri nama koneksi.php kemudian isi dari file ini seperti di bawah ini:
<?php
$host = "localhost";
$user = "root";
$pass = "root";
$name = "crud";
$koneksi = mysql_connect($host, $user, $pass) or die("Koneksi ke database gagal!");
mysql_select_db($name, $koneksi) or die("Tidak ada database yang dipilih!");
?>
Silahkan simpan dengan nama koneksi.php dan jangan lupa merubah detail koneksinya, misalkan passwordnya beda ya silahkan diganti dengan password Anda.

# Step 3. Menampilkan Data / Read
Tahap ketiga adalah menampilkan data dari database atau jika dalam singkatan CRUD maka kali ini adalah R -> Read.
Untuk menampilkan data, kita akan membuat file dengan nama index.php. Dan isi dari file index.php adalah script di bawah ini:

<html>
<head>
            <title>Simple CRUD by jarkom-iwanriopurba.web.id</title>
</head>
<body>
            <h2>Simple CRUD by jarkom-iwanriopurba.web.id</h2>
           
            <p><a href="index.php">Beranda</a> / <a href="siswa/tambah.php">Tambah Data Siswa</a> / <a href="guru/tambahguru.php">Tambah Data Guru</a></p>
           
            <h3>Data Siswa</h3>
           
            <table cellpadding="5" cellspacing="0" border="1">
                        <tr bgcolor="#CCCCCC">
                                    <th>No.</th>
                                    <th>NIS</th>
                                    <th>Nama Lengkap</th>
                                    <th>Kelas</th>
                                    <th>Jurusan</th>
                                    <th>Opsi</th>
                        </tr>
                       
                        <?php
                        //iclude file koneksi ke database
                        include('koneksi.php');
                       
                        //query ke database dg SELECT table siswa diurutkan berdasarkan NIS paling besar
                        $query = mysql_query("SELECT * FROM siswa ORDER BY siswa_nis DESC") or die(mysql_error());
                       
                        //cek, apakakah hasil query di atas mendapatkan hasil atau tidak (data kosong atau tidak)
                        if(mysql_num_rows($query) == 0){           //ini artinya jika data hasil query di atas kosong
                                   
                                    //jika data kosong, maka akan menampilkan row kosong
                                    echo '<tr><td colspan="6">Tidak ada data!</td></tr>';
                                   
                        }else{  //else ini artinya jika data hasil query ada (data diu database tidak kosong)
                                   
                                    //jika data tidak kosong, maka akan melakukan perulangan while
                                    $no = 1;          //membuat variabel $no untuk membuat nomor urut
                                    while($data = mysql_fetch_assoc($query)){        //perulangan while dg membuat variabel $data yang akan mengambil data di database
                                               
                                                //menampilkan row dengan data di database
                                                echo '<tr>';
                                                            echo '<td>'.$no.'</td>';         //menampilkan nomor urut
                                                            echo '<td>'.$data['siswa_nis'].'</td>';         //menampilkan data nis dari database
                                                            echo '<td>'.$data['siswa_nama'].'</td>';    //menampilkan data nama lengkap dari database
                                                            echo '<td>'.$data['siswa_kelas'].'</td>';     //menampilkan data kelas dari database
                                                            echo '<td>'.$data['siswa_jurusan'].'</td>'; //menampilkan data jurusan dari database
                                                            echo '<td><a href="siswa/edit.php?id='.$data['siswa_id'].'">Edit</a> / <a href="siswa/hapus.php?id='.$data['siswa_id'].'" onclick="return confirm(\'Yakin?\')">Hapus</a></td>';            //menampilkan link edit dan hapus dimana tiap link terdapat GET id -> ?id=siswa_id
                                                echo '</tr>';
                                               
                                                $no++;            //menambah jumlah nomor urut setiap row
                                               
                                    }
                                   
                        }
                        ?>
            </table>
           
            <h3>Data Guru</h3>
           
            <table cellpadding="5" cellspacing="0" border="1">
                        <tr bgcolor="#CCCCCC">
                                    <th>No.</th>
                                    <th>NIP</th>
                                    <th>Nama Lengkap</th>
                                    <th>Mata Pelajaran</th>
                                    <th>Opsi</th>
                        </tr>
                       
                        <?php
                        //iclude file koneksi ke database
                        include('koneksi.php');
                       
                        //query ke database dg SELECT table siswa diurutkan berdasarkan NIS paling besar
                        $query = mysql_query("SELECT * FROM guru ORDER BY guru_nip DESC") or die(mysql_error());
                       
                        //cek, apakakah hasil query di atas mendapatkan hasil atau tidak (data kosong atau tidak)
                        if(mysql_num_rows($query) == 0){           //ini artinya jika data hasil query di atas kosong
                                   
                                    //jika data kosong, maka akan menampilkan row kosong
                                    echo '<tr><td colspan="6">Tidak ada data!</td></tr>';
                                   
                        }else{  //else ini artinya jika data hasil query ada (data diu database tidak kosong)
                                   
                                    //jika data tidak kosong, maka akan melakukan perulangan while
                                    $no = 1;          //membuat variabel $no untuk membuat nomor urut
                                    while($data = mysql_fetch_assoc($query)){        //perulangan while dg membuat variabel $data yang akan mengambil data di database
                                               
                                                //menampilkan row dengan data di database
                                                echo '<tr>';
                                                            echo '<td>'.$no.'</td>';         //menampilkan nomor urut
                                                            echo '<td>'.$data['guru_nip'].'</td>';           //menampilkan data nip dari database
                                                            echo '<td>'.$data['guru_nama'].'</td>';      //menampilkan data nama lengkap dari database
                                                            echo '<td>'.$data['guru_mapel'].'</td>';     //menampilkan data mapel dari database
                                                            echo '<td><a href="guru/editguru.php?id='.$data['guru_id'].'">Edit</a> / <a href="guru/hapusguru.php?id='.$data['guru_id'].'" onclick="return confirm(\'Yakin?\')">Hapus</a></td>';            //menampilkan link edit dan hapus dimana tiap link terdapat GET id -> ?id=siswa_id
                                                echo '</tr>';
                                               
                                                $no++;            //menambah jumlah nomor urut setiap row
                                               
                                    }
                                   
                        }
                        ?>
            </table>
</body>
</html>

Jangan lupa disimpan za.. 
Untuk penjelasan Script sudah saya masukkan pada Script di atas, silahkan di baca sendiri kegunaan tiap-tiap baris kode.

Tampilan dari file index.php bisa terlihat seperti gambar di bawah ini:

Seperti terlihat pada gambar di atas terdapat tulisan “Tidak ada data!” yang artinya memang data pada database masih kosong.


# Step 4. Memasukkan Data / Create
Tahap ke empat adalah meng-insertkan data ke database dengan perintan INSERT INTO.
Pertama tertu saja kita buat Form utuk memasukkan datanya.
Simpan file ini di c://xampp/htdocs/crud/siswa.
Jadi didalam folder “crud” buat folder lagi bernama “siswa” dan simpanlah file tersebut didalam folder “siswa”
Form ini akan kita simpan dalam file tambah.php dengan script seperti di bawah ini:
<!DOCTYPE html>
<html>
<head>
            <title>Simple CRUD by jarkom-iwanriopurba.web.id</title>
</head>
<body>
            <h2>Simple CRUD by jarkom-iwanriopurba.web.id</h2>
           
            <p><a href="../index.php">Beranda</a> / <a href="../siswa/tambah.php">Tambah Data Siswa</a> / <a href="../guru/tambahguru.php">Tambah Data Guru</a></p>
           
            <h3>Tambah Data Siswa</h3>
           
            <form action="tambah-proses.php" method="post">
                        <table cellpadding="3" cellspacing="0">
                                    <tr>
                                                <td>NIS</td>
                                                <td>:</td>
                                                <td><input type="text" name="nis" required></td>
                                    </tr>
                                    <tr>
                                                <td>Nama Lengkap</td>
                                                <td>:</td>
                                                <td><input type="text" name="nama" size="30" required></td>
                                    </tr>
                                    <tr>
                                                <td>Kelas</td>
                                                <td>:</td>
                                                <td>
                                                            <select name="kelas" required>
                                                                        <option value="">Pilih Kelas</option>
                                                                        <option value="X">X</option>
                                                                        <option value="XI">XI</option>
                                                                        <option value="XII">XII</option>
                                                            </select>
                                                </td>
                                    </tr>
                                    <tr>
                                                <td>Jurusan</td>
                                                <td>:</td>
                                                <td>
                                                            <select name="jurusan" required>
                                                                        <option value="">Pilih Jurusan</option>
                                                                        <option value="Teknik Komputer dan Jaringan">Teknik Komputer dan Jaringan</option>
                                                                        <option value="Multimedia">Multimedia</option>
                                                                        <option value="Akuntansi">Akuntansi</option>
                                                                        <option value="Perbankan">Perbankan</option>
                                                                        <option value="Pemasaran">Pemasaran</option>
                                                            </select>
                                                </td>
                                    </tr>
                                    <tr>
                                                <td>&nbsp;</td>
                                                <td></td>
                                                <td><input type="submit" name="tambah" value="Tambah"></td>
                                    </tr>
                        </table>
            </form>
</body>
</html>

Dari Form tidak ada yang spesial, hanya form tersebut action nya tambah-proses.php.
Tampilannya seperti gambar di bawah ini:
Nah ketika form tersebut di isi, dan tombol Tambah di klik, maka akan menjalankan file tambah-proses.php.


Simpan file ini di c://xampp/htdocs/crud/siswa.
sehingga didalam folder “crud” buat folder lagi bernama “siswa” dan simpanlah file tersebut didalam folder “siswa”
Jadi selanjutnya buat file baru dengan nama tambah-proses.php dan isinya adalah script di bawah ini:
<?php
//mulai proses tambah data

//cek dahulu, jika tombol tambah di klik
if(isset($_POST['tambah'])){
           
            //inlcude atau memasukkan file koneksi ke database
            include('../koneksi.php');
           
            //jika tombol tambah benar di klik maka lanjut prosesnya
            $nis                 = $_POST['nis'];        //membuat variabel $nis dan datanya dari inputan NIS
            $nama                        = $_POST['nama'];   //membuat variabel $nama dan datanya dari inputan Nama Lengkap
            $kelas                        = $_POST['kelas'];   //membuat variabel $kelas dan datanya dari inputan dropdown Kelas
            $jurusan         = $_POST['jurusan'];            //membuat variabel $jurusan dan datanya dari inputan dropdown Jurusan
           
            //melakukan query dengan perintah INSERT INTO untuk memasukkan data ke database
            $input = mysql_query("INSERT INTO siswa VALUES(NULL, '$nis', '$nama', '$kelas', '$jurusan')") or die(mysql_error());
           
            //jika query input sukses
            if($input){
                       
                        echo 'Data berhasil di tambahkan! ';                     //Pesan jika proses tambah sukses
                        echo '<a href="../siswa/tambah.php">Kembali</a>';      //membuat Link untuk kembali ke halaman tambah
                       
            }else{
                       
                        echo 'Gagal menambahkan data! ';                      //Pesan jika proses tambah gagal
                        echo '<a href="../siswa/tambah.php">Kembali</a>';      //membuat Link untuk kembali ke halaman tambah
                       
            }

}else{  //jika tidak terdeteksi tombol tambah di klik

            //redirect atau dikembalikan ke halaman tambah
            echo '<script>window.history.back()</script>';

}
?>
Beres deh untuk tambah data atau Insert data ke database.
Penjelasan kode juga sudah saya masukkan pada file tersebut, silahkan baca sendiri :)
# Step 5. Update Data (Update/Edit)
Tahap ini adalah untuk melakukan edit data pada database. File yang akan kita buat adalah file edit.php.
Link untuk menuju halaman edit adalah pada file index.php dimana disana pada tabel kolom Opsi ada Link edit dan hapus. Dimana untuk Link edit yang di klik Anda akan mendapatkan Link seperti <a href=”crud/guru/edit.php?id=12″>Edit</a> dimanaid ini adalah nilai dari siswa_id. Jika id tersebut adalah 12, maka akan menampilkan data siswa dimana siswa_id=12.
Oke, silahkan buat file edit.php dan paste script di bawah ini:
Simpan file ini di c://xampp/htdocs/crud/siswa.

<!DOCTYPE html>
<html>
<head>
            <title>Simple CRUD by jarkom-iwanriopurba.web.id</title>
</head>
<body>
            <h2>Simple CRUD by jarkom-iwanriopurba.web.id</h2>
           
            <p><a href="../index.php">Beranda</a> / <a href="../siswa/tambah.php">Tambah Data Siswa</a> / <a href="../guru/tambahguru.php">Tambah Data Guru</a></p>
           
            <h3>Edit Data Siswa</h3>
           
            <?php
            //proses mengambil data ke database untuk ditampilkan di form edit berdasarkan siswa_id yg didapatkan dari GET id -> edit.php?id=siswa_id
           
            //include atau memasukkan file koneksi ke database
            include('../koneksi.php');
           
            //membuat variabel $id yg nilainya adalah dari URL GET id -> edit.php?id=siswa_id
            $id = $_GET['id'];
           
            //melakukan query ke database dg SELECT table siswa dengan kondisi WHERE siswa_id = '$id'
            $show = mysql_query("SELECT * FROM siswa WHERE siswa_id='$id'");
           
            //cek apakah data dari hasil query ada atau tidak
            if(mysql_num_rows($show) == 0){
                       
                        //jika tidak ada data yg sesuai maka akan langsung di arahkan ke halaman depan atau beranda -> index.php
                        echo '<script>window.history.back()</script>';
                       
            }else{
           
                        //jika data ditemukan, maka membuat variabel $data
                        $data = mysql_fetch_assoc($show);        //mengambil data ke database yang nantinya akan ditampilkan di form edit di bawah
           
            }
            ?>
           
            <form action="../siswa/edit-proses.php" method="post">
                        <input type="hidden" name="id" value="<?php echo $id; ?>">         <!-- membuat inputan hidden dan nilainya adalah siswa_id -->
                        <table cellpadding="3" cellspacing="0">
                                    <tr>
                                                <td>NIS</td>
                                                <td>:</td>
                                                <td><input type="text" name="nis" value="<?php echo $data['siswa_nis']; ?>" required></td>          <!-- value diambil dari hasil query -->
                                    </tr>
                                    <tr>
                                                <td>Nama Lengkap</td>
                                                <td>:</td>
                                                <td><input type="text" name="nama" size="30" value="<?php echo $data['siswa_nama']; ?>" required></td> <!-- value diambil dari hasil query -->
                                    </tr>
                                    <tr>
                                                <td>Kelas</td>
                                                <td>:</td>
                                                <td>
                                                            <select name="kelas" required>
                                                                        <option value="">Pilih Kelas</option>
                                                                        <option value="X" <?php if($data['siswa_kelas'] == 'X'){ echo 'selected'; } ?>>X</option> <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
                                                                        <option value="XI" <?php if($data['siswa_kelas'] == 'XI'){ echo 'selected'; } ?>>XI</option>            <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
                                                                        <option value="XII" <?php if($data['siswa_kelas'] == 'XII'){ echo 'selected'; } ?>>XII</option>           <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
                                                            </select>
                                                </td>
                                    </tr>
                                    <tr>
                                                <td>Jurusan</td>
                                                <td>:</td>
                                                <td>
                                                            <select name="jurusan" required>
                                                                        <option value="">Pilih Jurusan</option>
                                                                        <option value="Teknik Komputer dan Jaringan" <?php if($data['siswa_jurusan'] == 'Teknik Komputer dan Jaringan'){ echo 'selected'; } ?>>Teknik Komputer dan Jaringan</option>   <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
                                                                        <option value="Multimedia" <?php if($data['siswa_jurusan'] == 'Multimedia'){ echo 'selected'; } ?>>Multimedia</option>         <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
                                                                        <option value="Akuntansi" <?php if($data['siswa_jurusan'] == 'Akuntansi'){ echo 'selected'; } ?>>Akuntansi</option>            <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
                                                                        <option value="Perbankan" <?php if($data['siswa_jurusan'] == 'Perbankan'){ echo 'selected'; } ?>>Perbankan</option>         <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
                                                                        <option value="Pemasaran" <?php if($data['siswa_jurusan'] == 'Pemasaran'){ echo 'selected'; } ?>>Pemasaran</option>       <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
                                                            </select>
                                                </td>
                                    </tr>
                                    <tr>
                                                <td>&nbsp;</td>
                                                <td></td>
                                                <td><input type="submit" name="simpan" value="Simpan"></td>
                                    </tr>
                        </table>
            </form>
</body>
</html>

Jika sudah silahkan simpan, dan hasil tampilan dari script di atas seperti gambar di bawah ini:
Nah, form edit diatas jika di klik tombol Simpan, maka akan menjalankan file edit-proses.php, dimana file ini adalah proses untuk melakukan update data ke database.

Buat file edit-proses.php dan paste script di bawah ini:
Simpan file ini di c://xampp/htdocs/crud/siswa.

<?php
//mulai proses edit data

//cek dahulu, jika tombol simpan di klik
if(isset($_POST['simpan'])){
           
            //inlcude atau memasukkan file koneksi ke database
            include('../koneksi.php');
           
            //jika tombol tambah benar di klik maka lanjut prosesnya
            $id                               = $_POST['id'];          //membuat variabel $id dan datanya dari inputan hidden id
            $nis                = $_POST['nis'];        //membuat variabel $nis dan datanya dari inputan NIS
            $nama                        = $_POST['nama'];   //membuat variabel $nama dan datanya dari inputan Nama Lengkap
            $kelas                        = $_POST['kelas'];    //membuat variabel $kelas dan datanya dari inputan dropdown Kelas
            $jurusan        = $_POST['jurusan'];           //membuat variabel $jurusan dan datanya dari inputan dropdown Jurusan
           
            //melakukan query dengan perintah UPDATE untuk update data ke database dengan kondisi WHERE siswa_id='$id' <- diambil dari inputan hidden id
            $update = mysql_query("UPDATE siswa SET siswa_nis='$nis', siswa_nama='$nama', siswa_kelas='$kelas', siswa_jurusan='$jurusan' WHERE siswa_id='$id'") or die(mysql_error());
           
            //jika query update sukses
            if($update){
                       
                        echo 'Data berhasil di simpan! ';               //Pesan jika proses simpan sukses
                        echo '<a href="../siswa/edit.php?id='.$id.'">Kembali</a>';       //membuat Link untuk kembali ke halaman edit
                       
            }else{
                       
                        echo 'Gagal menyimpan data! ';                //Pesan jika proses simpan gagal
                        echo '<a href="../siswa/edit.php?id='.$id.'">Kembali</a>';       //membuat Link untuk kembali ke halaman edit
                       
            }

}else{  //jika tidak terdeteksi tombol simpan di klik

            //redirect atau dikembalikan ke halaman edit
            echo '<script>window.history.back()</script>';

}
?>

Silahkan simpan. Dan seperti biasa penjelasan tiap baris kode sudah saya masukkan di dalamnya, silahkan baca.

# Step 6. Hapus Data (Delete)
Tahap ke enam ini adalah yang terakhir, yaitu melakukan perintah Delete untuk menghapus data dari database.
Simpan file ini di c://xampp/htdocs/crud/siswa.
file yang akan kita buat adalah hapus.php, dan isi scriptnya seperti di bawah ini:

<?php
//memulai proses hapus data

//cek dahulu, apakah benar URL sudah ada GET id -> hapus.php?id=siswa_id
if(isset($_GET['id'])){
           
            //inlcude atau memasukkan file koneksi ke database
            include('../koneksi.php');
           
            //membuat variabel $id yg bernilai dari URL GET id -> hapus.php?id=siswa_id
            $id = $_GET['id'];
           
            //cek ke database apakah ada data siswa dengan siswa_id='$id'
            $cek = mysql_query("SELECT siswa_id FROM siswa WHERE siswa_id='$id'") or die(mysql_error());
           
            //jika data siswa tidak ada
            if(mysql_num_rows($cek) == 0){
                       
                        //jika data tidak ada, maka redirect atau dikembalikan ke halaman beranda
                        echo '<script>window.history.back()</script>';
           
            }else{
                       
                        //jika data ada di database, maka melakukan query DELETE table siswa dengan kondisi WHERE siswa_id='$id'
                        $del = mysql_query("DELETE FROM siswa WHERE siswa_id='$id'");
                       
                        //jika query DELETE berhasil
                        if($del){
                                   
                                    echo 'Data siswa berhasil di hapus! ';                  //Pesan jika proses hapus berhasil
                                    echo '<a href="../index.php">Kembali</a>';        //membuat Link untuk kembali ke halaman beranda
                                   
                        }else{
                                   
                                    echo 'Gagal menghapus data! ';               //Pesan jika proses hapus gagal
                                    echo '<a href="../index.php">Kembali</a>';        //membuat Link untuk kembali ke halaman beranda
                       
                        }
                       
            }
           
}else{
           
            //redirect atau dikembalikan ke halaman beranda
            echo '<script>window.history.back()</script>';
           
}
?>
Jangan lupa disimpan.

Sedikit penjelasan untuk script hapus di atas. Jika Anda mengklik tombol/link hapus pada file index.php, Anda akan mendapatkan Link seperti in localhost/crud/siswa/hapus.php?id=12, ini artinya Script akan mendeteksi dari URL tersebut berapa id nya, misalkan disana id=12, maka script akan menghapus data siswa dimana siswa_id=12.

S E K I A N

sumber:http://tutorialweb.net/membuat-aplikasi-crud-sederhana-dengan-php-dan-mysql/

2 komentar:

  1. Great to see that someone still understand how to create an awesome blog.
    The blog is genuinely impressive in all aspects.
    Ilike this blog.
    poker online betting

    BalasHapus

Terima Kasih Telah Berkomentar.

Salam dari admin http://kumpulan-tutorial-bagus.blogspot.com