Postingan lainnya
update stok pada php
agan-agan sekalian, saya mau nanyak lagi nih tentang update stok tiket saya, dimana ya salah dari koding dibawah ini ? kenapa stok_tiket pada database nya gak berkurang-kurang ? kasusnya saat udah kita daftar form data diri trus di simpan muncul deh form data diri, nah maksud saya saat klik button "cetak data registrasi" maka stok_tiket yang ada di tabel tiket jadi berkurang.
<!DOCTYPE html >
<?php include ("../koneksi.php");
?>
<html>
<head>
<title>CV. CHANDRA MEDAN</title>
<link rel="stylesheet" type="text/css" href="../style.css">
<link rel="stylesheet" type="text/css" href="../page.css">
</head>
<body>
<nav class="top-bar" data-topbar role="navigation">
<ul class="title-area">
<li class="name">
<h1><a href="index.php">CV. CHANDRA</a></h1>
</li>
<li class="toggle-topbar menu-icon"><a href="#"><span></span></a></li>
</ul>
<section class="top-bar-section">
<!-- Right Nav Section -->
<ul class="right">
<li><a href="../index.php"><span class="glyphicon glyphicon-home">Home</a></li>
<li><a href="cektiket2.php"><span class="glyphicon glyphicon-search"></span>Cari Tiket</a></li>
<li><a href="bataltiket.php"><span class="glyphicon glyphicon-cancel"></span>Batal Tiket</a></li>
<li><a href="profil.php"><span class="glyphicon glyphicon-profil"></span>Profil</a></li>
<li><a href="contact.php"><span class="glyphicon glyphicon-phone"></span>Contact</a></li>
</ul>
</section>
</nav>
<div class="panel panel-default">
<?php
if (isset($_REQUEST['stok'])) {
# code...
include '../koneksi.php';
$nama_pemesan = $_POST['nama_pemesan'];
$alamat = $_POST['alamat'];
$no_telp = $_POST['no_telp'];
$dewasa = $_POST['dewasa'];
$anak = $_POST['anak'];
$tgl_order = date('Y/m/d/');
date_default_timezone_set('Asia/Jakarta');
$jam_order = date(' h:i:s');
$query=mysql_query("select max(id_order) as id_order FROM orders");
while ($data_tiket=mysql_fetch_array($query)) {
$query_stok=mysql_query("SELECT * FROM tiket where id_tiket='$data_tiket[id_tiket]' ");
$data_stok=mysql_fetch_array($query_stok);
$stok=mysql_query("UPDATE tiket SET stok_tiket=stok_tiket-'$data_tiket[dewasa]' where id_tiket='$data_tiket[id_tiket]' ");
header("location:index.php");
}
}
?>
<?php
include ("../koneksi.php");
include ("../config/fungsi_tanggal.php");
//jika diklik tombol batal maka pesanan akan dibatalkan dan data akan dihapus sesuai dengan getidPesan
if(isset($_REQUEST['batal'])){
mysql_query("DELETE FROM orders WHERE id_order = '$_GET[getid_order]'");
echo"<script>
alert('Registrasi dibatalkan');
window.location.href='../index.php';
</script>";
}
//------------------------------------------------------------------
if(isset($_REQUEST['getid_tiket'])){ //jika GET idKA diset atau berjalan maka akan tampil detailPesanan
$tampil = mysql_fetch_array(mysql_query("SELECT * FROM tiket WHERE id_tiket = '$_GET[getid_tiket]'"));
?>
<center><h1>» Rincian Pemesanan Tiket «</h1></center>
<form method="POST" action="">
<table border="0" align="center" width="70%" style="border : 1px solid black;border-spacing : 1px;">
<tr>
<th align="justify">Jurusan</th>
<th>:</th>
<td><?=$tampil['tujuan']?></td>
<th align="justify">Tanggal Berangkat</th>
<th>:</th>
<td><?=tgl_indo($tampil['tgl_berangkat'])?></td>
<th align="justify">Kelas</th>
<th>:</th>
<td><?=$tampil['kelas']?></td>
</tr>
<tr>
<th align="justify">Jam Berangkat</th>
<th>:</th>
<td><?=$tampil['jam_berangkat']?></td>
<th align="justify">Harga</th>
<th>:</th>
<td><?=$tampil['harga']?></td>
</tr>
</table>
<br>
<?php $lihatPesanan = mysql_fetch_assoc(mysql_query("SELECT * FROM orders WHERE id_order='$_GET[getid_order]'"));?>
<table align="center" width="50%" >
<tr>
<td colspan="3"><h2>» Data Diri</h2></td>
</tr>
<tr>
<td>Kode Order</td>
<td>:</td>
<td><?=$lihatPesanan['id_order']?></td>
</tr>
<tr>
<td>Nama Pemesan</td>
<td>:</td>
<td><?=$lihatPesanan['nama_pemesan']?></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><?=$lihatPesanan['alamat']?></td>
</tr>
<tr>
<td>No Telepon/HP</td>
<td>:</td>
<td><?=$lihatPesanan['no_telp']?></td>
</tr>
<tr>
<td>Dewasa</td>
<td>:</td>
<td><?=$lihatPesanan['dewasa']?></td>
</tr>
<tr>
<td>Anak-Anak</td>
<td>:</td>
<td><?=$lihatPesanan['anak']?></td>
</tr>
<tr>
<td>Total Biaya</td>
<td>:</td>
<td><?=($lihatPesanan['dewasa']+$lihatPesanan['anak'])." * Rp. ".number_format($tampil['harga'],0,',','.')." = <b>Rp. ".number_format(($lihatPesanan['dewasa']+$lihatPesanan['anak'])*$tampil['harga'],0,',','.')."<b>"?></td>
</tr>
<tr>
<td colspan="3"><h3>» Info!</h3></td>
</tr>
<tr>
<td colspan="3">
- Simpan Kode Order Anda (Jika sewaktu-waktu ingin membatalkan tiket)<br>
- Reservasi dapat dilakukan 2x24 jam sebelum kereta berangkat<br>
- Harga dan ketersediaan tempat duduk sewaktu waktu dapat berubah<br>
- Pastikan anda telah menerima konfirmasi pembayaran dari PT. Kereta Api Indonesia untuk ditukarkan dengan tiket di stasiun online</td>
</tr>
<tr>
<td colspan=6 align='center'>
<!--
Tombol cetak berfungsi untuk mencetak data yang terdapat pada
file cetakPesan.php dengan membawa nilai get dari idKA, idPesan
-->
<a href="cetak.php?getid_tiket=<?=$_GET['getid_tiket']?>&getid_order=<?=$_GET['getid_order']?>" target="_blank" name="stok" class='btnn btn-info'>Cetak Data Registrasi</a>
<a href="../index.php?"><input type="button" name="tutup" value="Tutup Info Detail" class='btnn btn-primary'/></a>
<input type="submit" name="batal" value="Batalkan Pemesanan" class='btnn btn-warning'/></td>
</tr>
</table>
</form>
<?php }?>
<div class="footer">
<center>Copyright © 2017 CV. CHANDRA. All rights reserved.</center>
</div>
</div>
</body>
</html>
6 Jawaban:
coba cek di url, sesuai g tu yg getid_tiket sama getid_order
href="cetak.php?getid_tiket=<?=$_GET['getid_tiket']?>&getid_order=<?=$_GET['getid_order']?>"
yang itu udah gan,, kalo yang bagian ini menurut agan sudah benar kah ?
<?php
if (isset($_REQUEST['stok'])) {
# code...
include '../koneksi.php';
$nama_pemesan = $_POST['nama_pemesan'];
$alamat = $_POST['alamat'];
$no_telp = $_POST['no_telp'];
$dewasa = $_POST['dewasa'];
$anak = $_POST['anak'];
$tgl_order = date('Y/m/d/');
date_default_timezone_set('Asia/Jakarta');
$jam_order = date(' h:i:s');
$query=mysql_query("select max(id_order) as id_order FROM orders WHERE id_tiket='$_GET[getid_tiket]'");
while ($data_tiket=mysql_fetch_array($query)) {
$query_stok=mysql_query("SELECT * FROM tiket where id_tiket='$_GET[getid_tiket]'");
$data_stok=mysql_fetch_array($query_stok);
$stok=mysql_query("UPDATE tiket SET stok_tiket=stok_tiket-'$data_tiket[dewasa]' where id_tiket='$_GET[getid_tiket]' ");
}
}
?>
di sini get nya salah :
$query=mysql_query("select max(id_order) as id_order FROM orders WHERE id_tiket='$_GET[getid_tiket]'");
while ($data_tiket=mysql_fetch_array($query)) {
$query_stok=mysql_query("SELECT * FROM tiket where id_tiket='$_GET[getid_tiket]'");
$data_stok=mysql_fetch_array($query_stok);
$stok=mysql_query("UPDATE tiket SET stok_tiket=stok_tiket-'$data_tiket[dewasa]' where id_tiket='$_GET[getid_tiket]' ");
}
harusnya
$query=mysql_query("select max(id_order) as id_order FROM orders WHERE id_tiket='".$_GET['getid_tiket']."'");
while ($data_tiket=mysql_fetch_array($query)) {
$query_stok=mysql_query("SELECT * FROM tiket where id_tiket='".$_GET['getid_tiket']."'");
$data_stok=mysql_fetch_array($query_stok);
$stok=mysql_query("UPDATE tiket SET stok_tiket= stok_tiket - '".$data_tiket[0]."' where id_tiket='".$_GET['getid_tiket']."' ");
}
inget di dalam get atau post harus menggunakan '' contoh
$_GET['data']
maaf, gan tetap gak bisa ... jadi saya pakai trigger.. bisa berkurang stoknya , yg mau saya tanyak gimana sih menjumlahkan 2 field di trigger ? koding nya seperti dibawah ini gan.. saya mau menambahkan jumlah dewasa dan jumlah anak gan,,
DROP TRIGGER IF EXISTS `update_stok_tiket` ;
CREATE DEFINER = `root`@`localhost` TRIGGER `update_stok_tiket` AFTER INSERT ON `orders`
FOR EACH
ROW BEGIN
UPDATE tiket SET stok_tiket = stok_tiket - NEW.(dewasa + anak) WHERE id_tiket = new.id_tiket;
END
ga bisa di apa? erornya apa?
kalau trigger sy jarang pakai, jadi kurang paham
gak ada muncul error apa2 gan, mulus tapi stok tetap gak berkurang... makanya saya bingung dimana salahnya gan,,