从mysql使用PHP构建复选框
我的数据库中有下表:从mysql使用PHP构建复选框,php,mysql,checkbox,Php,Mysql,Checkbox,我的数据库中有下表: 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; 在表中,我已经输入了一些数据主体名称 我想做的是,对于表中的每个主题,都会创建一个复选框,旁边有主题的名称 到目前为止,我已经为表中的每
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中得到的:
实际上非常简单,只需在标签标签之间连接$row['subject']变量:
foreach($result as $row)
{
echo "<input type='checkbox' name='data[]' value='" . htmlspecialchars($row['subject']) . "' /> <label>" .$row['subject'] . "</label>";
}
您可以在任何输出中多次使用变量。是否可以发布输出的图片…尝试调试$row对象,并使用var\u dump或print\r查看它包含的内容-您可能从查询中获得对象或数组,而不是关联数组。您可能只需要使用$row[0]它在数据库中的存储方式如何?您只是在寻找echo。htmlspecialchars$行[“主题];您的查询只是选择主题;是这个名字吗?您是否应该选择*并访问值中的$row[subject_id],然后输出$row[subject]呢?是的,它可以工作!非常感谢。它也适用于。htmlspecialchars$row['subject']。不确定为什么要在该函数中包装值-来自数据库的内容应该已经安全了。不,您总是为HTML输出转义,在将值放入数据库之前从不转义。@JayBlanchard我一直听说大多数情况下,内容都应该存储在数据库中,并在输出时转义。在输出时转义就足够了。