本文讲解如何在 php 表单中,根据 mysql 数据库中布尔(tinyint(1) 或 boolean)字段的值,动态设置 html 单选按钮(radio)的默认选中状态,实现数据回显。
在 Web 开发中,编辑已有记录时,常需将数据库中的布尔型字段(如 is_active, is_subscribed)映射为表单中的单选按钮(Yes/No)。与复选框不同,单选按钮需确保有且仅有一个选项被选中,因此不能仅对某个 添加 checked 属性——必须根据数据库值,精准控制对应选项的状态。
✅ 正确做法:服务端动态渲染 checked
假设你已从 MySQL 查询出布尔值并存入 PHP 变量(如 $user_prefers_color = $row[‘prefers_color’];),该字段为 TINYINT(1) 类型(MySQL 中 BOOLEAN 实际是其别名),值为 1(true)或 0(false)。此时应在 HTML 输出阶段,用 PHP 判断并为对应 radio 添加 checked 属性: