Tutorial Form Input Data Ke Database Dengan PHP-MySql
Setelah sebelumnya kita telah mempelajari beberapa cara menampilkan isi data pada database dengan php, pada tutorial selanjutnya ini kita akan mencoba bagainama cara insert data ke database Mysql dengan php.
Tutorial ini merupakan serial lanjutan dari tutorial membuat CRUD dengan php setelah sebelumnya kita telah mempelajari cara menampilkan isi data tabel Mysql menggunakan php.
Pada langkah awal kita buat database mahasiswa, anda dapat import database mahasiswa pada tutorial ini dengan mendownloadnya disini.
Sebelum kita latihan menginput data ke dalam database berikut tampilan data lengkap yang akan kita buat:
Kemudian buat form untuk input data, adapun form yang akan kita input terdiri dari beberapa kolom data yakni : (NIM, Nama, Tanggal Lahir, Tempat Lahir, Jurusan, Tahun Masuk, Jenis Kelamin) selanjutnya buat form untuk input data tersebut dengan nama file forminput.php sebagai form untuk input data, ketikan kode sebagai berikut:
forminput.php
<!DOCTYPE html>
<html>
<head>
<title>Belajar Insert Data Form ke Database</title>
</head>
<body>
<h2>Form Input Data Mahasiswa </h2>
<form method="post" action="simpan.php">
<input type="hidden" value="<?php echo $data['id'];?>" name="id_mahasiswa">
<table>
<tr><td>NIM : </td><td><input type="text" name="nim"></td></tr>
<tr><td>Nama :</td><td><input type="text" name="nama"></td></tr>
<tr><td>Jenis Kelamin</td><td>
<input type="radio" name="jenis_kelamin" value="L" checked>Laki Laki
<input type="radio" name="jenis_kelamin" value="P">Perempuan
</td></tr>
<!--Tanggal Lahir -->
<tr>
<td>Tanggal Lahir :</td>
<td><select name="tgl" size="1" id="tgl">
<?php
for ($i=1;$i<=31;$i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select>
<select name="bln" size="1" id="bln">
<?php
$bulan=array("","Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember");
for ($i=1;$i<=12;$i++)
{
echo "<option value=".$i.">".$bulan[$i]."</option>";
}
?>
</select>
<select name="thn" size="1" id="thn">
<?php
for ($i=1980;$i<=2000;$i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select></td>
</tr>
<tr><td>Tempat Lahir :</td><td><input type="text" name="tmptlahir"></td></tr>
<tr><td>Jurusan :</td><td>
<select name="jurusan">
<option value="Teknik Informatika">Teknik Informatika</option>
<option value="Sistem Informasi">Sistem Informasi</option>
<option value="Teknik Komputer dan Jaringan">Teknik Komputer dan Jaringan</option>
</select>
</td></tr>
<tr><td>Tahun Masuk :</td><td>
<select name="thnmsk" size="1" id="thnmsk">
<?php
for ($i=2000;$i<=2020;$i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</td></tr>
<tr><td colspan="2"><button type="submit" value="simpan">Submit</button></td></tr>
</table>
</form>
</body>
</html>
Tampilan form setelah selesai kita buat seperti berkut :
Selanjutnya buat file koneksi.php sebagai koneksi dari php ke database, disesuaikan dengan setingan user dan password database server anda.
koneksi.php
<?php
// buat koneksi dengan database mysql
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "mahasiswa";
$koneksi = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
//periksa koneksi, tampilkan pesan kesalahan jika gagal
if(!$koneksi){
die ("Koneksi database gagal: ".mysqli_connect_errno().
" - ".mysqli_connect_error());
}
?>
Buat file untuk proses query input data kedalam data base dengan nama file simpan.php ketikan kode sebagai berikut :
simpan.php
<?php
include 'koneksi.php';
// menyimpan data kedalam variabel
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$kelamin = $_POST['jenis_kelamin'];
$tgllahir = $_POST['thn'].'-'.$_POST['bln'].'-'.$_POST['tgl'];
$tmptlahir = $_POST['tmptlahir'];
$jurusan = $_POST['jurusan'];
$tahunmsk = $_POST['thnmsk'];
if($nim=="")
{
// echo "NIM kosong belum diisi, ";
echo "<script>alert('NIM Belum diisi');history.go(-1);</script>";
}
if($nama=="")
{
echo "<script>alert('Nama Belum diisi');history.go(-1);</script>";
}
if($tmptlahir=="")
{
echo "<script>alert('Tempat Lahir Belum diisi');history.go(-1);</script>";
}
else
{
/* cek input NIM apakah sudah ada nim yang digunakan */
$pilih="select * from data_mahasiswa where nim='$nim'";
$cek=mysqli_query($koneksi, $pilih);
$jumlah_data = mysqli_num_rows($cek);
if ($jumlah_data >= 1 )
{
echo "<script>alert('NIM yang sama sudah digunakan');history.go(-1);</script>";
}
else
{
// query untuk insert data mahasiswa
$query="INSERT INTO data_mahasiswa SET nim='$nim',nama='$nama',tgl_lhr='$tgllahir',tempat_lahir='$tmptlahir',jurusan='$jurusan',tahun_masuk='$tahunmsk',jenis_kelamin='$kelamin'";
mysqli_query($koneksi, $query);
// echo " Input Data yang anda masukkan sukses berhasil";
// header("location:query.php");
echo "<script>alert('Data yang anda Input sukses');window.location='query.php'</script>";
}
}
?>
Pada halaman proses ini ada terdapat 5 kondisi yang kita persiapkan, dimana pertama apabila kolom NIM, Nama, Tempat Tanggal Lahir, belum diisi maka akan menampilkan pesan javascript kolom belum diisi.
Selanjutkan pada kondisi dimana NIM yang sama kita input maka akan muncul pesan ( NIM yang sama sudah digunakan ), dan kondisi terakhir pada bagian query insert semua yang kita input tidak ada kesalahan maka akan dijalankan query input data ke dalam database sukses.
Contoh input data yang benar sebagai berikut :
Apabila proses input berhasil maka akan muncul pesan input data sukses :
Selanjutnya kita akan diarahkan ke tampilan query untuk menampilkan hasil dari data yang kita telah input tadi buat file query.php untuk menampilkan data yang telah kita simpan.
query.php
<?php
include "koneksi.php";
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Belajar PHP di ilmuweb.net</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<h1>Belajar Menampilkan Database Mahasiswa</h1>
<p>Menampilkan isi database Mahasiswa </p>
<a href="forminput.php">Input Data Mahasiswa Baru</a><br>
<table class="table table-bordered table-striped table-hover">
<tr>
<th>NIM</th>
<th>Nama</th>
<th>Tanggal Lahir</th>
<th>Tempat Lahir</th>
<th>Jurusan</th>
<th>Tahun Masuk</th>
<th>Jenis Kelamin</th>
</tr>
<?php
// Berdasar Tahun Masuk
// $tahun = 2017;
// $query ="select * from data_mahasiswa where tahun_masuk= $tahun ";
// Berdasar Tempat Lahir
// $tempat= "Jakarta";
// $query ="select * from data_mahasiswa where tempat_lahir= '$tempat' ";
// Berdasar Jurusan
// $jurusan= "Sistem Informasi";
// $query ="select * from data_mahasiswa where jurusan = '$jurusan' ";
// menampilkan seluruh isi database
$query ="select * from data_mahasiswa";
$hasil = mysqli_query($koneksi, $query);
//$data = mysqli_fetch_row($hasil);
//ambil dan tampilkan 5 baris tabel mahasiswa
// for($i=1;$i<=5;$i++)
// {
// $data = mysqli_fetch_row($hasil);
// echo "$data[0] $data[1] $data[2] $data[3] $data[4] $data[5]";
// echo "<br>";
// }
//ambil dan tampilkan seluruh tabel mahasiswa
// while($data = mysqli_fetch_row($hasil))
// {
// echo "$data[0] $data[1] $data[2] $data[3] $data[4] $data[5]";
// echo "<br>";
// }
while($data = mysqli_fetch_array($hasil))
{
echo "<tr>";
echo "<td>$data[nim]</td>";
echo "<td>$data[nama]</td>";
echo "<td>$data[tgl_lhr]</td>";
echo "<td>$data[tempat_lahir]</td>";
echo "<td>$data[jurusan]</td>";
echo "<td>$data[tahun_masuk]</td>";
echo "<td>$data[jenis_kelamin]</td>";
echo "</tr>";
}
?>
</table>
</body>
</html>
Apabila tidak terdapat pesan kesalahan maka data sukses di input ke dalam database, dan hasil query dapat kita lihat data yang telah kita input tadi :
Dari tabel di atas terlihat data yang telah sukses kita input yakni dengan nama Putri Tian beserta data – datanya. Pada tutorial ini saya menggunakan bootsrap sehingga tampilan data menarik, untuk itu anda dapat mempelajari tutorial bootsrap menampilkan tabel dengan bootsrap
Sekian dulu sabat tutorial insert data ke dalam database Mysql dengan php semoga bermanfaat, ok pada tutorial PHP berikutnya kita akan belajar bagaimana edit atau update data pada Mysql dengan PHP di tunggu ya sahabat ilmuweb. 🙂 salam sukses penuh keberkahan.