CRUD di Php dan MySql

1. Buat Database

        Buat database dengan nama "dbbarang"
        



atau dengan menggunakan skrip berikut :
CREATE TABLE `dbbarang`.`barang` (
`id` INT NOT NULL AUTO_INCREMENT ,
`nama_barang` VARCHAR( 200 ) NOT NULL ,
`kode_barang` VARCHAR( 20 ) NOT NULL ,`harga` INT( 10 ) NOT NULL ,`stok` INT( 10 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;

2. Buat koneksi database

Buat file koneksi database "koneksi.php", kemudian simpan kedalam folder :xampp-> htdocs->nama folder project anda(misal folder barang). lihat contoh pada gambar berikut :

Gambar diatas adalah letak folder project ini disimpan.. silahkan buat dulu folder seperti gambar diatas.

Berikut adalah script untuk koneksi ke database yang disimpan dlam file "koneksi.php"
<?php

$host = "localhost";
$user = "root";
$pass = "root";
$name = "dbbarang";

$koneksi = mysql_connect($host, $user, $pass) or die("Koneksi ke database gagal!");
mysql_select_db($name, $koneksi) or die("Tidak ada database yang dipilih!");
?>

3. Buat File Index.php


Buat file  "index.php" untuk menampilkan data barang yang ada di database 

script index.php : 
<!DOCTYPE html>
<html>
<head>
	<title>Simple CRUD by CatatanDosen</title>
</head>
<body>
	<h2>Simple CRUD</h2>
	
	<p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>
	
	<h3>Data Barang</h3>
	
	<table cellpadding="5" cellspacing="0" border="1">
		<tr bgcolor="#CCCCCC">
			<th>No.</th>
			<th>Nama Barang</th>
			<th>Kode barang</th>
			<th>Harga Barang</th>
			<th>Stok</th>
			<th>Opsi</th>
		</tr>
		
		<?php
		//iclude file koneksi ke database
		include('koneksi.php');
		
		//query ke database dg SELECT table barang diurutkan berdasarkan id barang
		$query = mysql_query("SELECT * FROM barang ORDER BY id 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['nama_barang'].'</td>';	//menampilkan data nama barang lengkap dari database
					echo '<td>'.$data['kode_barang'].'</td>';	//menampilkan data kode barang dari database
					echo '<td>'.$data['harga'].'</td>';	//menampilkan data harga barang
					echo '<td>'.$data['stok'].'</td>';	//menampilkan data stok barang
					echo '<td><a href="edit.php?id='.$data['id'].'">Edit</a> / <a href="hapus.php?id='.$data['id'].'" onclick="return confirm(\'Yakin?\')">Hapus</a></td>';	//menampilkan link edit dan hapus dimana tiap link terdapat GET id -> ?id=id
				echo '</tr>';
				
				$no++;	//menambah jumlah nomor urut setiap row
				
			}
			
		}
		?>
	</table>
</body>
</html>


4. Buat file tambah.php

 <!DOCTYPE html>
<html>
<head>
	<title>Simple CRUD PHP dan MYSQL </title>
</head>
<body>
	<h2>Simple CRUD</h2>
	
	<p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>
	
	<h3>Tambah Data barang<h3>
	
	<form action="tambah-proses.php" method="post">
		<table cellpadding="3" cellspacing="0"> 
			<tr>
				<td>Nama Barang</td>
				<td>:</td>
				<td><input type="text" name="nama_barang" required></td>
			</tr>
			<tr>
				<td>Kode Barang</td>
				<td>:</td>
				<td><input type="text" name="kode_barang" size="30" required></td>
			</tr>
			<tr>
				<td>Harga Barang</td>
				<td>:</td>
				<td><input type="text" name="harga" size="30" required></td>
			</tr>
		
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td><input type="submit" name="tambah" value="Tambah"></td>
			</tr>
		</table>
	</form>
</body>
</html>


5. Buat file tambah-proses.php

<?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
	$nama_barang	= $_POST['nama_barang'];	//membuat variabel $nama_barang dan datanya dari inputan Nama Barang
	$kode_barang	= $_POST['kode_barang'];	//membuat variabel $kode_barang dan datanya dari  Kode Barang
	$harga	= $_POST['harga'];	//membuat variabel $harga dan datanya dari Harga Barang
	
	//melakukan query dengan perintah INSERT INTO untuk memasukkan data ke database
	$input = mysql_query("INSERT INTO barang VALUES('','$nama_barang','$kode_barang','$harga','')") or die(mysql_error());
	
	//jika query input sukses
	if($input){
		
		echo '<script>window.alert("Data berhasil d tambahkan")

				window.location="index.php"</script>';		//Pesan jika proses tambah sukses
		
		
	}else{
		
		echo 'Gagal menambahkan data! ';		//Pesan jika proses tambah gagal
		echo '<a href="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.location="index.php"</script>';

}
?>

6. Buat file : edit.php


<!DOCTYPE html>
<html>
<head>
	<title>Simple CRUD</title>
</head>
<body>
	<h2>Simple CRUD</h2>
	
	<p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>
	
	<h3>Edit Data Barang</h3>
	
	<?php
	//proses mengambil data ke database untuk ditampilkan di form edit berdasarkan id barang yg didapatkan dari GET id -> edit.php?id=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 barang WHERE 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="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>Nama Barang</td>
				<td>:</td>
				<td><input type="text" name="nama_barang" value="<?php echo $data['nama_barang']; ?>" required></td>	<!-- value diambil dari hasil query -->
			</tr>
			<tr>
				<td>Kode Barang</td>
				<td>:</td>
				<td><input type="text" name="kode_barang" size="30" value="<?php echo $data['kode_barang']; ?>" required></td> <!-- value diambil dari hasil query -->
			</tr>
			<tr>
				<td>Harga Barang</td>
				<td>:</td>
				<td><input type="text" name="harga" size="30" value="<?php echo $data['harga']; ?>" required></td> <!-- value diambil dari hasil query -->
			</tr>
			
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td><input type="submit" name="simpan" value="Simpan"></td>
			</tr>
		</table>
	</form>
</body>
</html>

7. Buat file : edit-proses.php

<?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
	$nama_barang= $_POST['nama_barang'];	//membuat variabel $nama_barang dan datanya dari inputan nama_barang
	$kode_barang= $_POST['kode_barang'];	//membuat variabel $kode_barang dan datanya dari inputan kode barang
	$harga= $_POST['harga'];	//membuat variabel $kode_barang dan datanya dari inputan harga barang
	//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 barang SET nama_barang='$nama_barang', kode_barang='$kode_barang',harga='$harga' WHERE id='$id'") or die(mysql_error());
	
	//jika query update sukses
	if($update){
		
		echo '<script>window.alert("Data berhasil di edit")

				window.location="index.php"</script>';	
		
	}else{
		
		echo 'Gagal menyimpan data! ';		//Pesan jika proses simpan gagal
		echo '<a href="edit.php?id='.$id.'">Kembali</a>';	//membuat Link untuk kembali ke halaman edit
		
	}

}
?>

8. Buat file hapus.php

<?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 barang dengan id='$id'
	$cek = mysql_query("SELECT id FROM barang WHERE id='$id'") or die(mysql_error());
	
	//jika data barang 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 barang dengan kondisi WHERE id='$id'
		$del = mysql_query("DELETE FROM barang WHERE id='$id'");
		
		//jika query DELETE berhasil
		if($del){
			
			echo '<script>window.alert("Data berhasil dihapus")

				window.location="index.php"</script>';		//Pesan jika proses delet sukses
			
		}
		
	}
	
}else{
	
	//redirect atau dikembalikan ke halaman beranda
	echo '<script>window.history.back()</script>';
	
}
?>
Berikut adalah contoh hasil program yang sudah dijalankan :
1.  Tampilan index 

2. Tampilan form tambah data :

2. Tampilan form edit data :



Posting Komentar

0 Komentar