【发布时间】:2023-04-03 00:45:01
【问题描述】:
在我页面的“用户设置”选项卡中,我希望用户确定来自特定用户的帖子类型。这是表格:
<form method="post" action="" name="permitted_categories">
Select or deselect which types of Posts that you would like to see.
<p>
<?
$cat_query = mysqli_query($con, "SELECT permitcat FROM permitted WHERE username='$userLoggedIn' AND friendname='$username'")
?>
<label>
<input type="checkbox" name="categories[]" value="Life" id="Life" <? echo $checked;?>>
Life</label>
<br>
<label>
<input type="checkbox" name="categories[]" value="Politics" id="Politics" <? echo $checked;?>>
Politics</label>
<br>
<label>
<input type="checkbox" name="categories[]" value="Entertainment" id="Entertainment" <? echo $checked;?>>
Entertainment</label>
<br>
<label>
<input type="checkbox" name="categories[]" value="Food" id="Food" <? echo $checked;?>>
Food</label>
<br>
<label>
<input type="checkbox" name="categories[]" value="BusFin" id="BusFin" <? echo $checked;?>>
Business/Financial</label>
<br>
<label>
<input type="checkbox" name="categories[]" value="Fitness" id="Fitness" <? echo $checked;?>>
Fitness/Health</label>
<br>
<input type="submit" name="update_categories" id="update_categories">
<?
if(isset($_POST['update_categories'])) {
$permitted_categories = $_POST['categories'];
echo "You will only see the following categories from ". $profile_user_obj->getFirstAndLastName() .": ";
foreach ($permitted_categories as $permcat){
echo $permcat .", ";
}
$values = implode(", ", $permitted_categories);
$permit_query = mysqli_query($con, "INSERT INTO permitted (id, username, friendname, permitcat) VALUES('','$userLoggedIn', '$username', '$values')");
} ?>
</p>
</form>
我要做的是自动检查在数组中找到相应值的框。
我尝试了几件事,但无法让代码正常工作。
【问题讨论】:
-
什么在响应这个查询。 $cat_query = mysqli_query($con, "SELECT permitcat FROM allowed WHERE username='$userLoggedIn' ANDfriendname='$username'")。取决于您必须将响应数组与您的字段进行比较的响应,然后“检查”与否。
-
我最初创建了一个 IF 语句,将复选框数组与数据库中的数组进行比较,然后发送一个 UPDATE,但是,这不起作用,而是在数据库中创建了双条目正确,另一个没有在 permitcat 列中插入任何内容。