好吧,你有几个问题在那里..
首先,请避免打开php标签并不断关闭它们。只需回显 HTML。频繁进出php会导致性能问题。
因此,首先,您需要在此处设置一个表单,您的表单需要指向第二个页面(或使用 isset 函数进行自我处理,但为了清楚起见,让我们使用前一个解决方案)。第二页是根据用户勾选的内容为您将内容转储到数据库中的内容。
因此,这是您的表单的 HTML;
<form action="database.php" method="POST">
<div>
<label for="checkbox1">This is the first option:</label>
<input type="checkbox" id="checkbox1" name="checkbox1" />
</div>
<div>
<label for="checkbox2">This is the second option:</label>
<input type="checkbox" id="checkbox2" name="checkbox2" />
</div>
<div>
<input type="submit" />
</div>
</form>
同样,我建议在你的 foreach 循环中回显这个 - 一个简短的函数可以为你完成这个。
因此,一旦有人点击“提交”按钮,他们将被带到您的第二页(我们称之为 database.php),他们的选项将存储在 POST 数组中。为获得良好的实践,在处理数据库条目时始终使用 POST 而不是 GET。
所以在这个页面上,我们会检查哪些复选框被选中,然后根据需要更新数据库;
if (isset($_POST['checkbox1']))
{
// user ticked checkbox1
$sql = "UPDATE table
SET 'checkbox1' = 1
WHERE 'user' = 'username';"
mysqli_query($sql);
}
请注意,这只是一个粗略的解决方案-您还没有确切地告诉我您是如何执行此操作的,因此我假设您的数据库与用户的投票等相关。您还可以通过增加值来更新 checkbox1 等等等等。
希望这可以帮助。