Selasa, 20 Agustus 2013

PHP ADVANCED

Pertama buat database barang isinya sebagai berikut :
CREATE DATABASE 'barang';
USE 'barang';
CREATE TABLE `barang` (
  `kodebarang` varchar(5) NOT NULL,
  `namabarang` varchar(100) NOT NULL,
  `harga` float(10,0) NOT NULL,
  `persediaan` int(3) NOT NULL default '0',
  KEY `NewIndex` (`kodebarang`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
setelah membuat database buatlah file koneksinya (koneksi.php):
<?
$host = "localhost";
$user = "root";
$pass = "admin";
$dbnm = "barang";

$conn = mysql_connect($host,$user,$pass);
if($conn){
 $buka = mysql_select_db($dbnm);
 if(!$buka){
  die("Database tidak dapat dibuka");
 }
} else {
 die("Server MySQL tidak terhubung");
}
?>
lalu buat file tambah.php
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Tambah Data Barang</title>
<script language="javascript">
function cekform(){
    //ini untuk ngecek formnya (semua form tidak boleh kosong)
    if(document.frmbarang.txtkode.value==""){
        alert('Kode Barang Harus Diisi');
        document.frmbarang.txtkode.focus();
        return false;
    } else if(document.frmbarang.txtnama.value==""){
        alert('Nama Barang Harus Diisi');
        document.frmbarang.txtnama.focus();
        return false;
    } else if(document.frmbarang.txtharga.value==""){
        alert('Harga Barang Harus Diisi');
        document.frmbarang.txtharga.focus();
        return false;
    } else if(document.frmbarang.txtpersediaan.value==""){
        alert('Persediaan Barang Harus Diisi');
        document.frmbarang.txtpersediaan.focus();
        return false;
    } else {
        return true;
    }
}
</script>
</head>

<body>
<?
//ini menu yang akan ada di semua halaman
include "menubarang.php";
?>
<form action="" method="post" name="frmbarang" onsubmit="return cekform()">
<table width="500" border="1">
  <tr>
    <td width="163">Kode Barang </td>
    <td width="321"><input name="txtkode" type="text" id="txtkode" size="5" maxlength="5" /></td>
  </tr>
  <tr>
    <td>Nama Barang </td>
    <td><input name="txtnama" type="text" id="txtnama" /></td>
  </tr>
  <tr>
    <td>Harga</td>
    <td><input name="txtharga" type="text" id="txtharga" /></td>
  </tr>
  <tr>
    <td>Persediaan</td>
    <td><input name="txtpersediaan" type="text" id="txtpersediaan" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input name="tblIsi" type="submit" id="tblIsi" value="Tambah Barang" /></td>
  </tr>
</table>

</form>
</body>
</html>
<?
//include file koneksi ke mysql
include "koneksi.php";
//ini kalo tombol submitnya diklik
//perhatikan nama dari tombol tsb (tblIsi)
if(isset($_POST['tblIsi'])){
    //ini adalah variabel untuk menampung inputan dari form (nama variabel bebas)
    // yang ada di dalam $_POST[''] adalah nama dari masing-masing textbox
    $kode = $_POST['txtkode'];
    $nama = $_POST['txtnama'];
    $harga = $_POST['txtharga'];
    $persediaan = $_POST['txtpersediaan'];
    //siapkan sebuah variabel untuk menampung query mysql
    //yang ada di dalam VALUES harus berurutan sesuai dengan uturan field yang ada dalam tabel
    $sql = "INSERT INTO barang VALUES('$kode','$nama','$harga','$persediaan')";
    //jalankan kuerynya
    $kueri = mysql_query($sql);
    //cek apakah variabel $kueri bernilai TRUE atau FALSE
    if($kueri){
    //ini kalo TRUE
    //tampilin alert pake javascript aja deh
        echo "<script>alert('Data barang berhasil dimasukkan ke database')</script>";
    } else {
    //ini kalo FALSE
        echo "<script>alert('Data barang gagal dimasukkan ke database')</script>";
        //tampilkan pesan error mysqlnya
        echo mysql_error();
    }
}
?>
lalu buat file lihatbarang.php nya :
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Daftar Barang</title>
</head>

<body>
<?
include "menubarang.php";
?>
<table width="519" border="1">
  <caption align="top">
    Daftar Barang
  </caption>
  <tr>
    <th width="25" scope="col">No</th>
    <th width="103" scope="col">Kode Barang </th>
    <th width="128" scope="col">Nama Barang </th>
    <th width="60" scope="col">Harga</th>
    <th width="81" scope="col">Persediaan</th>
    <th width="82" scope="col">Action Edit</th>
     <th width="82" scope="col">Action Delete</th>
  </tr>
<?
//siapkan query untuk mengmbil semua data barang yang ada
include "koneksi.php";
$sql = "SELECT * FROM barang";
$kueri = mysql_query($sql);
//karena datanya lebih dari 1 record maka gunakan while
//semua data disimpan dalam array
//loopnr untuk menampilkan data barang
$no = 1;
while($data = mysql_fetch_array($kueri)){
    ?>
    <tr>
        <td><? echo $no?></td>
        <td><? //tampilin data dari database
        //$data adalah nama array yg kita buat
        // kodebarang adalah nama field yang ada di tabel
        echo $data['kodebarang']?></td>
        <td><? echo $data['namabarang']?></td>
        <td><? echo $data['harga'];?></td>
        <td><? echo $data['persediaan']?></td>
        <td><!-- buat link untuk edit dan delete dan berikan parameter dgn nama "kode"--><a href="editbarang.php?kode=<? echo $data['kodebarang']?>">Edit</a> </td><td><a href="deletebarang.php?kode=<? echo $data['kodebarang']?>">Delete</a></td>
    </tr>
    <?
$no++;}
?>
</table>
</body>
</html>
buat editbarang.php
<?
  include "koneksi.php";
//cek dulu apakah parameter kode ada atau tidak
if(isset($_GET['kode'])){
   $kode = $_GET['kode'];
} else {
    //kalo gak ada  parameternya
    echo "<script>alert('Kode Barang Belum Dipilih');document.location='daftarbarang.php'</script>";
}

//ambil data barang dengan kode yang dipilih dan tampilkan dalam form
   $sql = "SELECT * FROM barang WHERE kodebarang='$kode'";
   $kueri = mysql_query($sql);
   $data = mysql_fetch_array($kueri);
   //tampung masing-masing data ke dalam variabel
   $kodebrg = $data['kodebarang'];
   $namabrg = $data['namabarang'];
   $harga = $data['harga'];
   $persediaan = $data['persediaan'];
?>
<!-- sekarang bikin formnya -->
<html>
<head><title>Edit Data Barang</title>
<script language="javascript">
function cekform(){
    //ini untuk ngecek formnya (semua form tidak boleh kosong)
    if(document.frmbarang.txtkode.value==""){
        alert('Kode Barang Harus Diisi');
        document.frmbarang.txtkode.focus();
        return false;
    } else if(document.frmbarang.txtnama.value==""){
        alert('Nama Barang Harus Diisi');
        document.frmbarang.txtnama.focus();
        return false;
    } else if(document.frmbarang.txtharga.value==""){
        alert('Harga Barang Harus Diisi');
        document.frmbarang.txtharga.focus();
        return false;
    } else if(document.frmbarang.txtpersediaan.value==""){
        alert('Persediaan Barang Harus Diisi');
        document.frmbarang.txtpersediaan.focus();
        return false;
    } else {
        return true;
    }
}
</script>
</head>
<body>
Edit Barang
<form action="" method="post" name="frmbarang" onsubmit="return cekform()">
<table width="500" border="1">
  <tr>
    <td width="163">Kode Barang </td>
    <td width="321"><!-- textbox untuk kodebarang dibuat menjadi readonly. Ini karena field kodebarang adalah Primary Key, sehingga tidak boleh diedit--><input name="txtkode" type="text" id="txtkode" size="5" maxlength="5" value="<? echo $kodebrg?>" readonly/></td>
  </tr>
  <tr>
    <td>Nama Barang </td>
    <td><input name="txtnama" type="text" id="txtnama" value="<? echo $namabrg?>"/></td>
  </tr>
  <tr>
    <td>Harga</td>
    <td><input name="txtharga" type="text" id="txtharga" value="<? echo $harga?>"/></td>
  </tr>
  <tr>
    <td>Persediaan</td>
    <td><input name="txtpersediaan" type="text" id="txtpersediaan" value="<? echo $persediaan?>"/></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input name="tblEdit" type="submit" id="tblEdit" value="Edit Barang" /></td>
  </tr>
</table>

</form>
</body>
</html>
<?
//ini kalo tombol editnya diklik
//perhatikan nama dari tombol edit nya (tblEdit)
if(isset($_POST['tblEdit'])){
    //ini adalah variabel untuk menampung inputan dari form (nama variabel bebas)
    // yang ada di dalam $_POST[''] adalah nama dari masing-masing textbox
    $kode = $_POST['txtkode'];
    $nama = $_POST['txtnama'];
    $harga = $_POST['txtharga'];
    $persediaan = $_POST['txtpersediaan'];
    //siapkan sebuah variabel untuk menampung query mysql
    //yang ada di dalam VALUES harus berurutan sesuai dengan uturan field yang ada dalam tabel
    $sql = "UPDATE barang SET namabarang='$nama', harga='$harga', persediaan='$persediaan' WHERE kodebarang='$kode'";
    //jalankan kuerynya
    $kueri = mysql_query($sql);
    //cek apakah variabel $kueri bernilai TRUE atau FALSE
    if($kueri){
    //ini kalo TRUE
    //tampilin alert pake javascript aja deh
        echo "<script>alert('Data barang berhasil diedit'); document.location='daftarbarang.php'</script>";
    } else {
    //ini kalo FALSE
        echo "<script>alert('Data barang gagal diedit')</script>";
        //tampilkan pesan error mysqlnya
        echo mysql_error();
    }
}
?>
lalu buat file delete.php
<?
//cek dulu apakah parameter kode ada atau tidak
if(isset($_GET['kode'])){
   include "koneksi.php";
   //kalo ada berarti lakukan perintah delete
   $kode = $_GET['kode'];
   $sql = "DELETE FROM barang WHERE kodebarang='$kode'";
   $kueri = mysql_query($sql);
   if($kueri){
       //kalo deletenya berhasil
    //tampilkan alert dan pindah ke halaman daftar barang
    echo "<script>alert('Data barang berhasil dihapus');document.location='daftarbarang.php'</script>";
   } else{
   echo "<script>alert('Data barang Gagal dihapus');document.location='daftarbarang.php'</script>";
   }
} else {
    //kalo gak ada  parameternya
    echo "<script>alert('Kode Barang Belum Dipilih');document.location='daftarbarang.php'</script>";
}
?>

Tidak ada komentar :

Posting Komentar