私は以下のPHPスクリプトを使用して新しい一時トランザクションデータをMySQLに追加しようとしています。PHPスクリプトMySQLに同じIDを追加し続ける
if ($mod == "penjualan" AND $act == "add") {
//check data from table barang detail where id from the form
$cekBarang = mysqli_query($conn, "SELECT * FROM tbbarangdetail
WHERE idBarangDetail = '$_GET[id]'") or die(mysqli_error($conn));
$assoc = mysqli_fetch_assoc($cekBarang);
if ($assoc != NULL) {
$disc = 0;
//check discount
if(!empty($_GET['disc']) AND is_numeric($_GET['disc'])) {
$disc = $_GET['disc'];
}
//get hargaPerKg and hargaPerBarang
$a = mysqli_query($conn, "SELECT hargaPerKg, hargaPerBarang FROM tbbarang where idBarang = '$assoc[idBarang]'");
$b = mysqli_fetch_assoc($a);
//get jumlah Kg from detail barang
$jumlahKg = $assoc['jumlahKg'];
//set id transaksi detail automatically
$idTransaksiDetailtmp = noTransaksiDetail();
date_default_timezone_set('Asia/Kuala_Lumpur');
$tgl = date('Y-m-d');
$timestmp = date('Y-m-d H:i');
//check data from table transaksi detail tmp
$cekDetBarang = mysqli_query($conn, "SELECT * FROM tbtransaksidetail_tmp
WHERE idBarangDetail = '$_GET[id]'
AND createdBy = '$_SESSION[loginUser]'") or die(mysqli_error($conn));
$sqlDB = mysqli_fetch_assoc($cekDetBarang);
これは、それは私が(noTransaksiDetailを使用するMySQLの
if($sqlDB == TRUE) {
if (empty($_GET['jumlahKgYgInginDibeli'])) {
$jumlahKgYgDibeli = $sqlDB['jumlahKgYgDibeli'];
if ($jumlahKgYgDibeli > $assoc['jumlahKg']) {
mysqli_query($conn, "UPDATE tbtransaksidetail_tmp SET jumlahKgYgDibeli = jumlahKgYgDibeli + '$_GET[jumlahKgYgInginDibeli]' WHERE idBarangDetail = '$_GET[id]' AND createdBy = '$_SESSION[loginUser]'") or die(mysqli_error($conn));
} else {
flash('example_message', '<p>Jumlah Kg yang Ingin Dibeli tidak Boleh Melebihi Jumlah Max Kg Barang.</p>', 'w3-red');
}
} elseif (!empty($_GET['jumlahKgYgInginDibeli'])) {
$jumlahKgYgInginDibeli = $_GET['jumlahKgYgInginDibeli'];
$jumlahKgYgDibeli = $sqlDB['jumlahKgYgDibeli'] + $jumlahKgYgInginDibeli;
echo $jumlahKgYgDibeli;
echo $assoc['jumlahKg'];
if ($jumlahKgYgDibeli < $assoc['jumlahKg']) {
mysqli_query($conn, "UPDATE tbtransaksidetail_tmp SET jumlahKgYgDibeli = jumlahKgYgDibeli + '$_GET[jumlahKgYgInginDibeli]' WHERE idBarangDetail = '$_GET[id]' AND createdBy = '$_SESSION[loginUser]'") or die(mysqli_error($conn));
} else {
flash('example_message', '<p>Jumlah Kg yang Ingin Dibeli tidak Boleh Melebihi Jumlah Max Kg Barang.</p>', 'w3-red');
}
}
}
else
{
if (!empty($_GET['jumlahKgYgInginDibeli'])) {
if($_GET['jumlahKgYgInginDibeli'] != $assoc['KgPerBarang']) {
mysqli_query($conn, "INSERT INTO tbtransaksidetail_tmp (idTransaksiDetailtmp,
idBarangDetail,
jumlahKgYgDibeli,
hargaPerKg,
diskon,
createdBy,
dateCreated,
timestmp)
VALUES('$idTransaksiDetailtmp',
'$_GET[id]',
'$_GET[jumlahKgYgInginDibeli]',
'$b[hargaPerKg]',
'$disc',
'$_SESSION[loginUser]',
'$tgl',
'$timestmp')") or die(mysqli_error($conn));
} elseif ($_GET['jumlahKgYgInginDibeli'] == $assoc['KgPerBarang']) {
mysqli_query($conn, "INSERT INTO tbtransaksidetail_tmp (idTransaksiDetailtmp,
idBarangDetail,
jumlahKgYgDibeli,
hargaPerBarang,
diskon,
createdBy,
dateCreated,
timestmp)
VALUES('$idTransaksiDetailtmp',
'$_GET[id]',
'$_GET[jumlahKgYgInginDibeli]',
'$b[hargaPerBarang]',
'$disc',
'$_SESSION[loginUser]',
'$tgl',
'$timestmp')") or die(mysqli_error($conn));
}
} else {
if ($assoc['jumlahKg'] == $assoc['KgPerBarang']) {
mysqli_query($conn, "INSERT INTO tbtransaksidetail_tmp (idTransaksiDetailtmp,
idBarangDetail,
jumlahKgYgDibeli,
hargaPerBarang,
diskon,
createdBy,
dateCreated,
timestmp)
VALUES('$idTransaksiDetailtmp',
'$_GET[id]',
'$assoc[jumlahKg]',
'$b[hargaPerBarang]',
'$disc',
'$_SESSION[loginUser]',
'$tgl',
'$timestmp')") or die(mysqli_error($conn));
} elseif ($assoc['jumlahKg'] != $assoc['KgPerBarang']) {
mysqli_query($conn, "INSERT INTO tbtransaksidetail_tmp (idTransaksiDetailtmp,
idBarangDetail,
jumlahKgYgDibeli,
hargaPerKg,
diskon,
createdBy,
dateCreated,
timestmp)
VALUES('$idTransaksiDetailtmp',
'$_GET[id]',
'$assoc[jumlahKg]',
'$b[hargaPerKg]',
'$disc',
'$_SESSION[loginUser]',
'$tgl',
'$timestmp')") or die(mysqli_error($conn));
}
}
}
header("location:../../../med.php?mod=penjualan");
}
else
{
echo"Tidak ada barang!";
}
}
に新しいデータを挿入するコードの一部です)私はこのコードを使用機能:
function noTransaksiDetail()
{
global $conn;
$sql = mysqli_query($conn, "SELECT MAX(RIGHT(idTransaksiDetail,5)) AS notrans FROM tbtransaksidetail WHERE dateCreated = '".date('Y-m-d')."'");
$m = mysqli_fetch_assoc($sql);
$no = 0;
if($m['notrans'] <> NULL)
{
$kd = number_format($m['notrans'],0) + 1;
if(strlen($kd) == 1)
{
$no = "BDTD".date('dmy')."0000".$kd;
}
elseif (strlen($kd) == 2) {
$no = "BDTD".date('dmy')."000".$kd;
}
elseif (strlen($kd) == 3) {
$no = "BDTD".date('dmy')."00".$kd;
}
elseif (strlen($kd) == 4) {
$no = "BDTD".date('dmy')."0".$kd;
}
else {
$no = "BDTD".date('dmy').$kd;
}
}
else
{
$no = "BDTD".date('dmy')."00001";
}
return $no;
}
できる誰かしてください助けて?どうもありがとうございます
誰かお手伝いできますか?どうもありがとう
かなり大きなコードブロックに貼り付けます。いくつかのコメントを編集してみるか、少し小さくして読みやすくしてください。 –
大丈夫です。少し待ってください – Indra
*必須のSQLインジェクションコメントを挿入してください* – cwallenpoole