【发布时间】:2019-04-30 03:21:14
【问题描述】:
我的数据库中有下表:
CREATE TABLE subjects (
subject_id int(11) NOT NULL AUTO_INCREMENT,
subject text,
PRIMARY KEY (subject_id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
在表格中我已经输入了一些数据(主题名称)。
我正在尝试为表中的每个主题创建一个复选框,旁边是主题名称。
到目前为止,我已经设法为表格中的每个主题创建了复选框,但我无法获得复选框旁边显示的主题名称。有人知道怎么做吗?
我是这样做的:
<?php
$sql = "SELECT subject FROM subjects"; /*Select from table name: subjects*/
$result = $conn->query($sql); /*Check connection*/
if($result)
{
foreach($result as $row)
{
echo "<input type='checkbox' name='data[]' value='" . htmlspecialchars($row['subject']) . "' /> <label>Here goes the subject name</label>";
}
}
?>
这就是我的桌子的样子:
这就是我在 PHP 中得到的:
【问题讨论】:
-
你能把输出的图片贴出来吗...
-
尝试使用 var_dump() 或 print_r() 调试 $row 对象,并查看它包含的内容 - 您可能会从查询中获取对象或数组,而不是关联数组。您可能只需要使用 $row[0]
-
在数据库中是如何存储的?
-
你是在找
echo "<input type='checkbox' name='data[]' value='" . htmlspecialchars($row['subject']) . "' /> <label>" . htmlspecialchars($row['subject']) . "</label>"; -
您的查询只选择了
subject;是这个名字吗?您是否应该执行SELECT *并在value中访问$row["subject_id"]并在之后输出$row["subject"]?