我遇到问题从mysql中获取信息到多个复选框。
使用的查询就是这个。
<?php
$usergroupid = $_SESSION['UserGroupID'];
$sql="SELECT * FROM sites WHERE UserGroupID='{$usergroupid}' ORDER BY sites.Description";
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result))
$description=$row["sites.Description"];
{
?>
<input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $description; ?>">
<?php
}
?>
但这只输入1个复选框,当表格中有多行时,后面没有文字。
答案 0 :(得分:2)
对于初学者来说,永远不要在HTML中使用相同的id两次(你通过for循环并使每个元素具有相同的id,而不是一件好事)。首先修复该问题(使HTML输入元素的id包含行中的某种id)
然后,真正的问题来自你放
的事实$description=$row["sites.Description"];
在while语句的开头大括号之前。它应该是
while ($row=mysql_fetch_array($result))
{
$description=$row["sites.Description"];
代替。
答案 1 :(得分:0)
我会将代码更改为:
<?php
$usergroupid = $_SESSION['UserGroupID'];
$sql="SELECT * FROM sites WHERE UserGroupID='{$usergroupid}' ORDER BY sites.Description";
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result))
{
$description=$row["sites.Description"];
?>
<input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $description; ?>">
<?php
}
?>
问题是“{”应该在“while($ row = mysql_fetch_array($ result))”之后直接写入。
此外,我强烈建议尽可能停止使用mysql_query,因为现在不推荐使用mysql_query(请在此处详细了解:http://php.net/manual/en/function.mysql-query.php)。
答案 2 :(得分:0)
你应该使用mysqli扩展而不是mysql(不推荐使用)
$sql="SELECT * FROM sites WHERE UserGroupID='{$usergroupid}' ORDER BY sites.Description";
$i=0;
$result=mysqli_query($link,$sql);
while ($row = mysqli_fetch_array($result)){
$description=$row["sites.Description"];
$xxx= "<input name='checkbox[]' type='checkbox' id='checkbox_$i' value='$description'>";
$i++;
}
echo $xxx;
?>
$描述必须在里面。
id =“checkbox_ $ i添加自动增量以使ids不同
答案 3 :(得分:0)
这不是您的代码唯一的问题。例如格式化,我的意思是你无法真正阅读它。学会正确格式化代码,进行排序。这实际上可以帮助您防止其他错误。
如评论所述,它还可以帮助您阅读和理解您的代码。
现在作为第三个提示:如果您使用格式正确的代码提出问题,您也可以在网站上获得更好的答案。因此,请保持您的问题重要,并尽一切努力在现场获得帮助。
<?php
$usergroupid = $_SESSION['UserGroupID'];
$sql = sprintf(
"SELECT * FROM sites WHERE UserGroupID = %d ORDER BY sites.Description",
(int)$usergroupid
);
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result))
{
$description = $row["sites.Description"];
echo '<input name="checkbox[]" type="checkbox" id="checkbox[]" value="',
$description, '">';
}