You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP根据MySQL数据库状态设置复选框勾选状态

解决方案

要根据数据库中存储的finish或pending值设置复选框的勾选状态,只需在复选框标签中动态添加checked属性即可,具体实现如下:

  1. 确认状态字段名:先确认数据库中存储finish/pending的字段名称(示例中假设为status,请替换为你实际使用的字段名)。

  2. 修改复选框代码:通过PHP判断数据库返回的状态值,若为finish则为复选框添加checked属性,否则不添加。

优化后的查询代码(避免SQL注入风险)

<?php
// 使用预处理语句防范SQL注入
$query = "SELECT * FROM ebook WHERE Eid=?";
$stmt = mysqli_prepare($con, $query);
mysqli_stmt_bind_param($stmt, "s", $Eid);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$rows = mysqli_fetch_assoc($result);
?>

修改后的页面显示代码

<input type="text" name="title" value="<?php echo htmlspecialchars($rows["Title"]); ?>">
<input class="tgl tgl-flip" id="chk" type="checkbox" name="chk" <?php echo ($rows["status"] === "finish") ? "checked" : ""; ?> />

关键说明:

  • htmlspecialchars()用于防范XSS攻击,输出用户输入的内容时建议添加。
  • 三元运算符($rows["status"] === "finish") ? "checked" : ""会在状态为finish时输出checked属性,使复选框处于勾选状态;状态为pending时不输出该属性,复选框保持未勾选。
  • 原查询代码存在SQL注入风险,推荐使用预处理语句优化。

内容的提问来源于stack exchange,提问作者Rohan Chooramun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:50:28