Reputation: 41
i`m trying to insert a data into database from a dynamic form, the data is being inserted sucsessfully but only the newest input field will being added to the database (example : i add a new input to the form using the button in the web, the data that being inserted is only the new input, meanwhile the input before the new one doesnt inserted).
<?php
include 'config/db_connect.php';
if(isset($_POST['submit']))
{
$i=0;
foreach($_POST['kp_berjangka'] as $value){
// insert query values can be fetched by
$file = $_POST['file'];
$selectidmax =mysqli_query($con, "SELECT max(id_kebijakan) as maxidadmin FROM t_kebijakan WHERE id_kebijakan LIKE 'KO%'");
$hslidmax=mysqli_fetch_array($selectidmax);
$idmax=$hslidmax['maxidadmin'];
$nourut = (int) substr($idmax, 2,3);
$nourut++;
$IDbaru = "KO" . sprintf("%03s", $nourut);
$kp_saham = $_POST['kp_saham'][$i];
$pro_saham = $_POST['produk_saham'][$i];
$bung_saham = $_POST['bunga_saham'][$i];
$ket_saham = $_POST['ket_saham'][$i];
$kp_harian = $_POST['kp_harian'][$i];
$pro_harian = $_POST['produk_harian'][$i];
$bung_harian = $_POST['bunga_harian'][$i];
$ket_harian = $_POST['ket_harian'][$i];
$kp_berjangka = $_POST['kp_berjangka'][$i];
$pro_berjangka = $_POST['produk_berjangka'][$i];
$bung_berjangka = $_POST['bunga_berjangka'][$i];
$ket_berjangka = $_POST['ket_berjangka'][$i];
$kp_deposito = $_POST['kp_deposito'][$i];
$pro_deposito = $_POST['produk_deposito'][$i];
$bung_deposito = $_POST['bunga_deposito'][$i];
$ket_deposito = $_POST['ket_deposito'][$i];
$kp_pinjaman = $_POST['kp_pinjaman'][$i];
$pro_pinjaman = $_POST['produk_pinjaman'][$i];
$bung_pinjaman = $_POST['bunga_pinjaman'][$i];
$ket_pinjaman = $_POST['ket_pinjaman'][$i];
$id = $_POST['meja'][$i];
$query = mysqli_query($con,"INSERT INTO t_kebijakan (id_kebijakan, file, kp_saham, produk_saham, bunga_saham, keterangan_saham, kp_harian, produk_harian, bunga_harian, keterangan_harian, kp_berjangka, produk_berjangka, bunga_berjangka, keterangan_berjangka, kp_deposito, produk_deposito, bunga_deposito, keterangan_deposito, kp_pinjaman, produk_pinjaman, bunga_pinjaman, keterangan_pinjaman, kode_cu)
VALUES (
'$IDbaru',
'$file',
'$kp_saham',
'$pro_saham',
'$bung_saham',
'$ket_saham',
'$kp_harian',
'$pro_harian',
'$bung_harian',
'$ket_harian',
'$kp_berjangka',
'$pro_berjangka',
'$bung_berjangka',
'$ket_berjangka',
'$kp_deposito',
'$pro_deposito',
'$bung_deposito',
'$ket_deposito',
'$kp_pinjaman',
'$pro_pinjaman',
'$bung_pinjaman',
'$ket_pinjaman',
'$id'
)");
}
if($query){
header('location: home_cu.php');
}else{
echo "data gagal dimasukan" . mysqli_error($con) . mysqli_errno($con);
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Add More Input Form</title>
<!-- Bootstrap -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<?php
include 'config/db_connect.php';
$kode_cu = $_GET['kode_cu'];
$query_mysql = mysqli_query($con,"SELECT * FROM t_cu WHERE kode_cu='$kode_cu'")or die(mysqli_error());
$nomor = 1;
while($data = mysqli_fetch_array($query_mysql)){
?>
<div class="container">
<h1 class="text-center">Tambah Data Kebijakan</h1>
<form action="add_kebijakan.php" method="post">
<h1 class="text-left">File</h1>
<div class="form-content">
<label>File :</label>
<input type="file" name="file">
<input type="hidden" value="<?php echo $data['kode_cu']?>" name="meja[]" class="form-control"/>
</div>
<h1 class="text-center">Produk Simpanan Saham</h1>
<div class="form-content">
<div class="row">
<div class="col-md-12">
<p><button type="button" id="btnAdd" class="btn btn-primary">Add More</button></p>
<br/>
</div>
</div>
<div class="row group">
<div class="col-md-3">
<div class="form-group">
<label>Kode Produk :</label>
<input type="text" name="kp_saham[]" class="form-control">
</div>
</div>
<?php } ?>
<div class="col-md-3">
<div class="form-group">
<label>Produk</label>
<input type="text" name="produk_saham[]" class="form-control">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Bunga</label>
<input type="text" name="bunga_saham[]" class="form-control">
</div>
</div>
<div class="col-md-5">
<div class="form-group">
<label>Keterangan</label>
<textarea name="ket_saham[]" class="form-control" rows="3"></textarea>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<button type="button" class="btn btn-danger btnRemove">Remove</button>
</div>
</div>
</div>
</div>
<h1 class="text-center">Produk Simpanan Harian</h1>
<div class="form-content">
<div class="row">
<div class="col-md-12">
<p><button type="button" id="btnAdd" class="btn btn-primary">Add More</button></p>
<br/>
</div>
</div>
<div class="row group">
<div class="col-md-3">
<div class="form-group">
<label>Kode Produk :</label>
<input type="text" name="kp_harian[]" class="form-control"/>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label>Produk</label>
<input type="text" name="produk_harian[]" class="form-control">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Bunga</label>
<input type="text" name="bunga_harian[]" class="form-control">
</div>
</div>
<div class="col-md-5">
<div class="form-group">
<label>Keterangan</label>
<textarea name="ket_harian[]" class="form-control" rows="3"></textarea>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<button type="button" class="btn btn-danger btnRemove">Remove</button>
</div>
</div>
</div>
</div>
<h1 class="text-center">Produk Simpanan Berjangka</h1>
<div class="form-content">
<div class="row">
<div class="col-md-12">
<p><button type="button" id="btnAdd" class="btn btn-primary">Add More</button></p>
<br/>
</div>
</div>
<div class="row group">
<div class="col-md-3">
<div class="form-group">
<label>Kode Produk :</label>
<input type="text" name="kp_berjangka[]" class="form-control"/>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label>Produk</label>
<input type="text" name="produk_berjangka[]" class="form-control">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Bunga</label>
<input type="text" name="bunga_berjangka[]" class="form-control">
</div>
</div>
<div class="col-md-5">
<div class="form-group">
<label>Keterangan</label>
<textarea name="ket_berjangka[]" class="form-control" rows="3"></textarea>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<button type="button" class="btn btn-danger btnRemove">Remove</button>
</div>
</div>
</div>
</div>
<h1 class="text-center">Produk Simpanan Deposito</h1>
<div class="form-content">
<div class="row">
<div class="col-md-12">
<p><button type="button" id="btnAdd" class="btn btn-primary">Add More</button></p>
<br/>
</div>
</div>
<div class="row group">
<div class="col-md-3">
<div class="form-group">
<label>Kode Produk :</label>
<input type="text" name="kp_deposito[]" class="form-control"/>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label>Produk</label>
<input type="text" name="produk_deposito[]" class="form-control">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Bunga</label>
<input type="text" name="bunga_deposito[]" class="form-control">
</div>
</div>
<div class="col-md-5">
<div class="form-group">
<label>Keterangan</label>
<textarea name="ket_deposito[]" class="form-control" rows="3"></textarea>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<button type="button" class="btn btn-danger btnRemove">Remove</button>
</div>
</div>
</div>
</div>
<h1 class="text-center">Produk Pinjaman</h1>
<div class="form-content">
<div class="row">
<div class="col-md-12">
<p><button type="button" id="btnAdd" class="btn btn-primary">Add More</button></p>
<br/>
</div>
</div>
<div class="row group">
<div class="col-md-3">
<div class="form-group">
<label>Kode Produk :</label>
<input type="text" name="kp_pinjaman[]" class="form-control"/>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label>Produk</label>
<input type="text" name="produk_pinjaman[]" class="form-control">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Bunga</label>
<input type="text" name="bunga_pinjaman[]" class="form-control">
</div>
</div>
<div class="col-md-5">
<div class="form-group">
<label>Keterangan</label>
<textarea name="ket_pinjaman[]" class="form-control" rows="3"></textarea>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<button type="button" class="btn btn-danger btnRemove">Remove</button>
</div>
</div>
</div>
</div>
<p>
<button type="submit" class="btn btn-success" name="submit">Simpan</button>
</p><br/>
</form>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="assets/js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="assets/js/bootstrap.min.js"></script>
<script src="jquery.multifield.min.js"></script>
<script>
$('.form-content').multifield({
section: '.group',
btnAdd:'#btnAdd',
btnRemove:'.btnRemove',
});
</script>
</body>
</html>
this is the result after i added echo "<pre>";print_r($_POST['kp_saham']);
Array
(
[0] => ASD
)
Array
(
[0] => ADS
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => ADS
)
Array
(
[0] => ADS
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => ADS
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => AD
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => ASD
)
Array
(
[0] => CO001
)
note : the ASD, ADS is just word that type randomly
Upvotes: 3
Views: 240
Reputation: 1365
As per my understanding you have used jquery multifield js to generate certain form fields multiple time. To save multiple records you have to do following steps.
1.Create array of controls by adding []
in the name of input control i.e.
<input type="text" name="kp_berjangka[]" class="form-control"/>
This need to be done with all input fields which need to be stored in database
2.While processing post request you need to save data using loop. Code will be similar like this. i.e.
$i=0;
foreach($_POST['kp_berjangka'] as $value){
// insert query values can be fetched by
$IDbaru = "KO" . sprintf("%03s", $nourut);
$kp_saham = $_POST['kp_saham'][$i];
$pro_saham = $_POST['produk_saham'][$i];
$bung_saham = $_POST['bunga_saham'][$i];
$ket_saham = $_POST['ket_saham'][$i];
$kp_harian = $_POST['kp_harian'][$i];
$pro_harian = $_POST['produk_harian'][$i];
$bung_harian = $_POST['bunga_harian'][$i];
$ket_harian = $_POST['ket_harian'][$i];
$kp_berjangka = $_POST['kp_berjangka'][$i];
$pro_berjangka = $_POST['produk_berjangka'][$i];
$bung_berjangka = $_POST['bunga_berjangka'][$i];
$ket_berjangka = $_POST['ket_berjangka'][$i];
$kp_deposito = $_POST['kp_deposito'][$i];
$pro_deposito = $_POST['produk_deposito'][$i];
$bung_deposito = $_POST['bunga_deposito'][$i];
$ket_deposito = $_POST['ket_deposito'][$i];
$kp_pinjaman = $_POST['kp_pinjaman'][$i];
$pro_pinjaman = $_POST['produk_pinjaman'][$i];
$bung_pinjaman = $_POST['bunga_pinjaman'][$i];
$ket_pinjaman = $_POST['ket_pinjaman'][$i];
$id = $_POST['meja'][$i];
$query = mysqli_query($con,"INSERT INTO t_kebijakan (id_kebijakan, file, kp_saham, produk_saham, bunga_saham, keterangan_saham, kp_harian, produk_harian, bunga_harian, keterangan_harian, kp_berjangka, produk_berjangka, bunga_berjangka, keterangan_berjangka, kp_deposito, produk_deposito, bunga_deposito, keterangan_deposito, kp_pinjaman, produk_pinjaman, bunga_pinjaman, keterangan_pinjaman, kode_cu)
VALUES (
'$IDbaru',
'$file',
'$kp_saham',
'$pro_saham',
'$bung_saham',
'$ket_saham',
'$kp_harian',
'$pro_harian',
'$bung_harian',
'$ket_harian',
'$kp_berjangka',
'$pro_berjangka',
'$bung_berjangka',
'$ket_berjangka',
'$kp_deposito',
'$pro_deposito',
'$bung_deposito',
'$ket_deposito',
'$kp_pinjaman',
'$pro_pinjaman',
'$bung_pinjaman',
'$ket_pinjaman',
'$id'
)");
}
By using this loop you will get all record submitted by forms.
3.You can not save file using $_POST['FILE']
please check file uploading process from https://www.w3schools.com/php/php_file_upload.asp This will help you
Upvotes: 1
Reputation: 1202
In this part or the others try to add []
in the name
of input. example
<div class="row group">
<div class="col-md-3">
<div class="form-group">
<label>Kode Produk :</label>
<input type="text" name="kp_berjangka[]" class="form-control"/>
</div>
</div>
then in your form action do this
echo "<pre>";print_r($_POST['kp_saham']);
Upvotes: 2