所以我一直试图获取用户的user_id,如果点击了他们的复选框并将其保存到数据库,但我的代码似乎不起作用。
$invites = $_POST["invite"];
mysql_query("INSERT INTO group_members (fan_id, group_id) VALUES ('$invites', '$group_id')") or die(mysql_error());
while ($row = mysql_fetch_array($friends)) {
echo "<div id=\"groupFanBox\"><a href=\"profile.php?id=" . $row['user_id'] . "\">" . $row['full_name'] . "</a><br><input type=\"checkbox\"value=" . $row['user_id'] . " name=\"invite[]\"></br></div>";
echo $row['user_id'];
怎么了?
答案 0 :(得分:1)
插入查询不会返回结果集,因此mysql_fetch_array()
无需处理任何内容。也许你想要一个SELECT查询:
SELECT user_id, full_name
FROM group_members
答案 1 :(得分:0)
您尝试将数组存储到数据库中!
您必须为每个复选框执行插入操作:
foreach($_POST['invites'] as $fanId) {
mysql_query("INSERT INTO group_members (fan_id, group_id) VALUES ('" . intval($fanId) . "', '" . intval($groupId . "')") or die(mysql_error());
}
我认为你的插入语句是真正的问题,while循环只是为了显示你如何创建复选框:-)如果没有,我的答案可能是错的; - )
答案 2 :(得分:0)
更容易看到失败的方法,以及稍后处理代码的方法是使用php输出你想要的html,而不使用echo语句。
所以这个:
while ($row = mysql_fetch_array($friends)) {
echo "<div id=\"groupFanBox\"><a href=\"profile.php?id=" . $row['user_id'] . "\">" . $row['full_name'] . "</a><br><input type=\"checkbox\"value=" . $row['user_id'] . " name=\"invite[]\"></br></div>";
echo $row['user_id'];
成为这个:
while($row=mysql_fetch_array($friends)){
//close your php before the loop ends
?>
<div id="groupFanBox">
<a href="profile.php?id=<?php print $row['user_id'];?>"><?php print $row['full_name'];?></a>
<br/>
<input type="checkbox" value="<?php print $row['user_id'];?>" name="invite[]">
<br/>
</div>";
<?php //then close the loop afterwards
}
?>
除了可读性之外,我认为您所遇到的问题来自您对复选框的命名。name='invites[]'
是,我不相信,相当于您尝试检索的帖子$_POST['invites']
。将括号放到name='invites'
,看看它是否有效。