如何插入数据 PHP JavaScript MySQL 与多个数组
how to insert data php javascript mysql with multiple array
我想用php javascript将多个数组中的数据输入到数据库中这里我使用动态添加记录来插入值
这是一个例子:
<form class="form-horizontal" id="form-produk">
<input name='add_btn' class="btn btn-primary" value='Tambah Record' id='add_btn' type='button'><br><br>
<div id='container1'></div>
</form>
<script type="text/javascript">
$(document).ready(function() {
var count = 0;
$("#add_btn").click(function(){
count ++;
$('#container1').append(
'<div class="records">'
+ '<textarea id="' + count + '" name="' + count + '" type="text" size="100" class="form-control nma_prod"></textarea>'
+ '<div class="hrgini"><span class="input-group-addon">Rp</span><input style="text-align:right" id="' + count + '" name="'+count+'" class="form-control hrg_prod" type="text" placeholder="Harga Produk"><span class="input-group-addon">,00</span></div>'
+ '<button class="remove_item btn btn-danger" >Hapus</button>'
+ '<br><br></div>'
);
});
$(".remove_item").live('click', function (ev) {
if (ev.type == 'click') {
$(this).parents(".records").fadeOut();
$(this).parents(".records").remove();
}
});
});
</script>
这是我对JavaScript的操作
$("#simpan-produk").bind("click", function(event) {
var url = "pages/produk/produk.input.php";
// mengambil nilai dari inputbox, textbox dan select
var values = new Object() // creates a new instance of an object
$('.nma_prod').each(function() {
values[$(this).attr('name')] = $(this).val()
})
var harga = new Object() // creates a new instance of an object
$('.hrg_prod').each(function() {
values[$(this).attr('name')] = $(this).val()
})
// send to process
$.post(url, {nama: values,hrga: harga, id: id_produk} ,function() {
$(".msg").html("<div class='alert alert-success alert-dismissable' id='alerts'> Sucsess</div>");
$(".msg").fadeIn(3500);
$(".msg").show();
$(".msg").fadeOut(5500);
$("#data-produk").load(main);
// hide dialog modals
$('#myModal').modal('hide');
// restore modal dialog title
$("#myModalLabel").html("Tambah Data produk");
});
});
这是我的流程脚本
foreach($prods as $_POST['nama']){
foreach($hrg as $_POST['hrga']){
mysql_query("INSERT INTO produk VALUES('','$prods','$hrg')");
}
}
但是这个脚本对我不起作用。有什么建议吗?
当您将整数用于name
属性时,服务器端脚本出现问题。
斯菲德尔
你必须这样做:
$('#container1').append(
'<div class="records">'
+ '<textarea id="id_' + count + '" name="count[]" type="text" size="100" class="form-control nma_prod"></textarea>'
+ '<div class="hrgini"><span class="input-group-addon">Rp</span><input style="text-align:right" id="cnt_' + count + '" name="count2[]" class="form-control hrg_prod" type="text" placeholder="Harga Produk"><span class="input-group-addon">,00</span></div>'
+ '<button class="remove_item btn btn-danger" >Hapus</button>'
+ '<br><br></div>'
);
});
那么在 Ajax send 中你可以使用 serialize((:
// send to process
$.post(url, $('form#form-produk').serialize(),function() {
// ....
});
最后:
$v = [];
foreach($_POST['count'] as $key=>$count){
$v[] = "('',$count,{$_POST['count2'][$key]})";
}
$query = "INSERT INTO produk ".implode(',',$v);
我不知道你的字段名称。 count
和count2
只是一个临时名称。请更改这些。
切勿使用 mysql_* 函数
在提供的示例中,为什么要为两个不同的字段创建不同的对象?
由于这两个字段都是相关的(在一个组中(,因此您需要将它们放在同一个对象中。所以这里的关键是通过所有具有类records
的元素iterate
bind
和live
已被弃用,所以我使用它on
。
php
另一方面,最好连接queries
并执行一次,而不是执行多个查询。
JSON
作为data
发送,json_decode
方法用于使object
摆脱string
应该使用mysqli_*
方法代替注释中提到的mysql_*
,但在下面提供的代码中,它没有实现。
参考这个:
$(document).ready(function() {
var count = 0;
$("#add_btn").click(function() {
count++;
$('#container1').append(
'<div class="records">' + '<textarea id="' + count + '" name="' + count + '" type="text" size="100" class="form-control nma_prod"></textarea>' + '<div class="hrgini"><span class="input-group-addon">Rp</span><input style="text-align:right" id="' + count + '" name="' + count + '" class="form-control hrg_prod" type="text" placeholder="Harga Produk"><span class="input-group-addon">,00</span></div>' + '<button class="remove_item btn btn-danger" >Hapus</button>' + '<br><br></div>'
);
});
$('body').on('click', ".remove_item", function(ev) {
$(this).parents(".records").fadeOut();
$(this).parents(".records").remove();
});
});
$("#simpan-produk").on("click", function(event) {
var url = "pages/produk/produk.input.php";
var data = [];
$('.records').each(function(index, item) {
var nma_prod = $(item).find('.nma_prod').val();
var hrg_prod = $(item).find('.hrg_prod').val();
data.push({
nma_prod: nma_prod,
hrg_prod: hrg_prod
});
});
alert(JSON.stringify(data));
// send to process
$.post(url, {
data: JSON.stringify(data)
}, function() {
$(".msg").html("<div class='alert alert-success alert-dismissable' id='alerts'> Sucsess</div>");
$(".msg").fadeIn(3500);
$(".msg").show();
$(".msg").fadeOut(5500);
$("#data-produk").load(main);
// hide dialog modals
$('#myModal').modal('hide');
// restore modal dialog title
$("#myModalLabel").html("Tambah Data produk");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<form class="form-horizontal" id="form-produk">
<input name='add_btn' class="btn btn-primary" value='Tambah Record' id='add_btn' type='button'>
<br>
<br>
<div id='container1'></div>
<button id='simpan-produk' type='button'>Submit</button>
</form>
.PHP:
<?php
$data = $_REQUEST['data'];
$data = json_decode($data, true);
$query = '';
foreach ($data as $item) {
$nma_prod = $item['nma_prod'];
$hrg_prod = $item['hrg_prod'];
$query .= "INSERT INTO `produk` VALUES('$nma_prod','$hrg_prod');";
}
if ($query) {
$exec = mysql_query($query);
if ($exec) {
echo json_encode(array('msg' => 'Data inserted successfully!'));
exit;
} else {
echo json_encode(array('msg' => 'Something went wrong!'));
exit;
}
} else {
echo json_encode(array('msg' => 'Nothing to Insert!'));
exit;
}
有关客户端代码,请参阅此小提琴。.
相关文章:
- 如何使用PHP将javascript变量添加到mysql数据库中
- onclick->mysql查询->javascript;同一页
- 在javascript中跳过周六和周日,并向mysql数据库中添加不重复的条目
- 如何使用jQueryPOST将get变量从JavaScript传递到PHP-Mysql
- 通过XHR请求将MYSQL数组从PHP返回到Javascript
- JavaScript Arrays and MySQL
- 如何使用PHP+MySQL Ajax自动完成jQuery并传递给JavaScript
- PHP/MYSQL Javascript - 使用按钮将从数据库拉取的行值插入文本字段
- 使用 PHP /MySQL JavaScript 创建一个简单的 Web 开发测试,但不起作用
- 使用PHP+MySQL+JavaScript进行网络聊天
- PHP, MYSQL + javascript?生成基于三个用户SELECT输入的结果(price)
- Refactoring webproject: php mysql javascript
- 显示数据下拉列表从另一个文件(php,mysql,javascript)
- 无法修复选择/删除功能.PHP / MySQL / JavaScript
- 交互式图形PHP mysql javascript
- 自动Tab当返回键按下/扫描(php/mysql/javascript)
- Php, mysql, javascript下拉列表
- 数据验证和安全性:从用户输入到浏览器输出-PHP/MySQL/JavaScript
- 请审查/评论:php mysql javascript(不是学校)
- 简单网站(Apache/PHP/MySQL+JavaScript)