我在网站上检查了可能的解决方案,但没有找到解决方案。我有一个表单,其中有两个文本字段供用户输入姓名和手机号码。默认情况下,该页面仅显示两个字段。如果用户希望他可以添加更多。问题是,我无法将这些多个数据插入到DB中。请看下面。发布图片我没有10个声誉。因此我给出了一个外部链接。
1)初始形式 http://postimg.org/image/qiojxjrcx/
2)单击加号,用户可以添加更多字段
http://postimg.org/image/zaetpokbx/
3)使用Jquery动态添加的字段具有唯一的id和类。以下脚本用于获取员工姓名和手机号码的值
a)获取员工姓名的脚本
var addstaffname = new Array();
$('input[class="addstaff"]').each(function() {
addstaffname.push(this.value);
});
var addstaffmob = new Array();
$('input[class="addstaffmob"]').each(function() {
addstaffmob.push(this.value);
});
$.ajax({
type:"POST",
url:"../../ajax.php",
data:'addstaffname='+addstaffname+'&addstaffmob='+addstaffmob,
cache:false,
success: function(data)
{
alert(data);
}
})
if(isset($_POST['addstaffname']))
{
$addstaffname = $_POST['addstaffname'];
$addstaffmob = $_POST['addstaffmob'];
$addstaffnameexploded = explode(',',$addstaffname);
$addstaffmobexploded = explode(',',$addstaffmob);
}
我正在使用explode,因为我有多个值,而我得到的所有值都是来自Jquery的CSV。我有一个名为staff的表,有三列,staff_id,staff_name,staff_mobile和staff_id是PK和Auto Increment。我的问题是如何在同一行插入员工姓名和手机。假设我们从表单中得到A,B,C和手机号码为100,200,300的员工姓名,我需要使用这些值插入MySQL DB。因此A将拥有移动100,B将拥有200等等......如果我只有一个爆炸,我可以轻松使用foreach循环并迭代。非常简单。我对如何使用此方案插入数据感到很生气。任何帮助将受到高度赞赏。
答案 0 :(得分:0)
我认为最好的方法是创建表单并在输入中使用数组
<input type="text" name="addstaffname[]" value="" />
<input type="text" name="addstaffmob[]" value="" />
然后使用ajax发送整个表单
$("#form").ajaxForm({url: 'server.php', type: 'post'});
(ajaxForm是一个jquery插件ajaxForm)
当你在php中收集数据时,你只需要做一个关键变量,就像这样。
$addstaffname = $_POST['addstaffname'];
$addstaffmob = $_POST['addstaffmob'];
foreach($addstaffname as $key=>$name){
echo "Your name is " . $name . " and your phone is " . $addstaffmob[$key];
}
显然你需要对vars,sql注入等进行强制转换