[英]How can I pass the multiple Id to PHP with the help of AJAX and display the images which are select by the user?
我的数据库中有100多个用户,并且所有用户都带有一个复选框。 当用户单击复选框时,Id值将在AJAX的帮助下传递给PHP,并显示用户图像。
上面的语句运行良好,因为我正在将单个id传递给PHP。
现在的问题是,如何在AJAX的帮助下将多个ID传递给PHP并显示用户选择的图像?
如果我选中了单个ID,则它将显示单个图像;如果选中2复选框,则它将显示两个图像,最多显示三个。
我想我必须使用SESSION和ARRAY。 您能帮我吗?
<input type="checkbox" value="<?php echo $id;?>" name="display_id" id="display_id" />
AJAX
$(document).ready(function() {
$("[type=checkbox]").click(function() {
var user_id = $(this).val();
$.ajax({
type: "POST",
url: "process", //
data: 'id=' + user_id,
success: function(msg) {
$("#display_id").html("<img src='images/profile/" + msg + "' alt='' />");
},
error: function() {
alert("failure");
}
});
});
});
处理
$_SESSION['id_user']=$_POST['id'];
$sql_compare="SELECT * FROM register WHERE Id=".$_SESSION['id_user'];
$compare_query=$conn->query($sql_compare);
if ($compare_query->num_rows > 0) {
while($userdata12=$compare_query->fetch_assoc()){
$compare_pic=$userdata12['profile_pic'];
}
}
echo $compare_pic;
exit();
首先,你应该这样做
arr = [];
$("[type='checkbox']:checked").each(function(){
arr.push($(this).val());
});
那你应该这样做
var params = {
users : arr
};
然后你的ajax会是
$.ajax({
type: "POST",
url: "process", //
data:params,
.
.
.
.
现在,检查所有检查的用户ID是否都在服务器端。 如是,
然后获取所有数据,并将其作为响应返回给ajax。
编辑1
$sql_compare="SELECT * FROM register WHERE Id IN (".implode(',',$_SESSION['id_user']).")";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.