Toturial PHP: CRUD dengan relasi 2 table

Assalamualaikum Semua






      Hallo semua selamat datang kembali. Saya Muhammad Aslam atau panggil saja Mas Lam akan berbagi pengetahuan tentang PHP langsung saja tanpa banyak basa basi lagi yu urang belajar PHP.

     Pembahasan kali ini kita akan mencoba CRUD dengan relasi 2 table, materi ini masih menggunakan kodingan sebelumnya jadi yang merasa belum mengikuti toturial php dari awal silahkan koding terlebih dahulu.


   Pertama buat table t_kelas pada database nya yang strukturnya seperti ini:




Kemudian kosongkan table siswa dengan cara masuk ke operations lalu pilih truncate, ingat pilih truncate bukan drop karena kita hanya menghapus data dalam table nya bukan menghapus table nya




kemudian ganti kolom kelas menjadi id_kelas pada table siswa nantinya strukturnya akan menjadi seperti ini:




setelah itu masuk ke index.php dan tambahkan kode pada query yang mengambil data siswa yang nantinya akan seperti berikut:


$sql = 'SELECT * FROM siswa INNER JOIN t_kelas ON(siswa.id_kelas = t_kelas.id_kelas)';

Inner Join merupakan perintah untuk menampilkan semua data yang mempunyai nilai sama bisa dibilang hubungan foreign key dengan primary key


selanjutnya ganti nama pada v_index.php dari "kelas" menjadi "nama_kelas"


tambah kode berikut ke tambah.php 



$sql = 'SELECT * FROM t_kelas';
$datakelas = $mysqli->query($sql) or die($mysqli->error);

$form = "add";

$url = "tambah.php";

ganti tag select kelas pada v_tambah.php menjadi seperti berikut



<select name="id_kelas">
<option value="">[ Pilih Kelas ]</option>
<?php while ($siswa = mysqli_fetch_object($datakelas)) { ?>
<option value="<?php echo $siswa->id_kelas ?>"
<?php echo @$result->id_kelas == $siswa->id_kelas ? 'selected' : ''?> >
<?php echo $siswa->nama_kelas ?>

</option>
<?php } ?>
</select>

ganti ambil POST kelas menjadi id_kelas dan ganti juga querynya jadinya akan seperti berikut

untuk post nya dari
$kelas = $_POST['kelas'];
menjadi 
$kelas = $_POST['id_kelas'];

untuk querynya dari:

$sql = "INSERT INTO siswa (nis, nama_lengkap, jenis_kelamin, kelas, jurusan, alamat, golongan_darah, nama_ibu_kandung) VALUES ('$nis', '$nama_lengkap', '$jenis_kelamin', '$kelas', '$jurusan', '$alamat', '$golongan_darah', '$nama_ibu_kandung')";
menjadi
$sql = "INSERT INTO siswa (nis, nama_lengkap, jenis_kelamin, id_kelas, jurusan, alamat, golongan_darah, nama_ibu_kandung) VALUES ('$nis', '$nama_lengkap', '$jenis_kelamin', '$kelas', '$jurusan', '$alamat', '$golongan_darah', '$nama_ibu_kandung')";

lakukan hal yang sama pada edit.php


tambahkan juga kode berikut di edit.php sebelum include 'view/v_tambah.php'



$sql = 'SELECT * FROM t_kelas';
$datakelas = $mysqli->query($sql) or die($mysqli->error);

$form = "edit";
$url = "edit.php";

hasilnya akan seperti berikut


drop box tersebut akan memunculkan nama nama kelas yang ada di database nya

sekian dan terimakasih

Comments