我有一个多选项,可以让我检查多个项目。我想通过ajax请求发送这些选定的项目,之后我想将这些项目导入我的数据库。我的问题是,我不知道如何循环通过传递的数组,我通过POST请求获得。
Ajax请求
function insertPlayers(){
var data = $("#playerCards").serialize();
$.ajax({
url: "/database/playercards.php",
type: "POST",
data: data,
success: function (response) {
}
});
}
这是我的HTML多选:
<select multiple id="assignAccount" name="assignAccount" class="form-control select">
// Options inserted by JQuery later
</select>
这是我在发送Ajax请求之前提醒它时的数据:
playersearch=test&buypercentage=85&assignAccount=9&assignAccount=10&assignAccount=11
如何将选项添加到我的多个选择框中:
// loop the response
$.each(response, function(i, e){
// just use your column names, these are just an example, but you get the idea
opt += '<option value="'+e.id+'">'+ e.email + ' - ' + e.coins + '</option>';
});
// append the markup to that select box
$('#assignAccount').html(opt)
我的问题: 现在应该很清楚,assignAccount变量是一个我希望在PHP中循环的数组,但我不知道如何做到这一点,因为我不知道索引。这就是我尝试过的:
$accountIds = $_POST['assignAccount'];
foreach ($accountIds as $account){
echo $account;
}
答案 0 :(得分:2)
更改
<select multiple id="assignAccount" name="assignAccount" class="form-control select">
更像是
<select id='assignAccount' name='assignAccount[]' multiple='multiple' class='form-control select'>
答案 1 :(得分:1)
使select语句多个id为数组
<select name='assignAccount[]' id='assignAccount[]'>
在你的php页面上,你现在将有一个数组用于这篇文章。
$_POST['assignAccount'][0]
$_POST['assignAccount'][1]
等等。
答案 2 :(得分:0)
多个发送数据时的select元素如下:
playersearch=test&buypercentage=85&assignAccount=9,10,11
因此,在PHP方面,你这样做:
$accountIds = explode(",", $_POST['assignAccount']);
foreach ($accountIds as $account){
echo $account;
}