正如标题所述,我试图将html表单复选框数据(应该查询MySQL数据库)发送到PHP脚本,其中输出应该是查询的表格'结果。我有一个用于html的文档和另一个用于php / sql的文档。 查询在MySQL中运行正常但是当我尝试通过html / php执行它时,我得到了结果表的列名但没有查询结果。这就是问题。
数据库将用户分组到组和组中。该查询在部门内查找用户空缺(其中user_id = 1)。我想像是那个让我搞砸的PHP。这是我到目前为止所拥有的 -
html表单:
<form name="dept_checkbox" method="post" action="dept.php">
<fieldset>
<legend>In which department would like to find open positions?</legend><br />
<input type="checkbox" name="dept_name" id="dept_name" value="First Department" />First Department<br />
<input type="checkbox" name="dept_name" id="dept_name" value="Second Department" />Second Department<br />
<input type="checkbox" name="dept_name" id="dept_name" value="Third Department" />Third Department<br />
<input type="checkbox" name="dept_name" id="dept_name" value="Fourth Department" />Fourth Department<br />
<input type="checkbox" name="dept_name" id="dept_name" value="Fifth Department" />Fifth Department<br />
<input type="checkbox" name="dept_name" id="dept_name" value="All Departments"/>All Departments<br /><br />
<input type="submit" value="Submit" />
</fieldset>
以上显示在浏览器中正常。以下是我通过php运行sql查询失败的尝试。在这一点上,我只是试图让它为一个部门工作(&#34;第一部门&#34;),一旦我开始工作,我想我可以从那里去。这里是sql / php减去脚本开头的数据库登录信息:
if(isset($POST[dept_name])){
$sql="select user_role,group_name
from groups,users,groups_users_link,departments
where groups.group_id=groups_users_link.groups_id
and users.user_id=groups_users_link.user_id
and groups.department_id=departments.department_id
and league_name like \"First Department\"
and groups_users_link.user_id=1";
$result=mysql_query($sql);
}
让我重申上述查询在MySQL中有效。以下是PHP脚本的其余部分,它应该以表格形式显示结果:
echo("<table border=\"10px\">");
echo("<tr><th>Role</th><th>Group</th></tr>");
while($myrow=mysql_fetch_array($result))
{
echo("<tr><td>".$myrow[user_role]."</td>");
echo("<td>".$myrow[group_name]."</td>");
}
echo("</table>");
?>
<h4><a href="dept.html">Back to form</a></h4>
我希望这能显示部门内第一部门中此类团体的所有空缺用户角色。&#34;相反,它会显示列名称,但缺少查询结果。任何帮助将不胜感激。
答案 0 :(得分:0)
在复选框的HTML中,使用数组表示法作为复选框名称:
name="dept_name[]"
然后,当您处理发布的表单时,如果$POST
应为$_POST
,则会出现错误。
最后,如果可能的话,切换到mysqli或pdo。 mysqli函数可以以与mysql非常相似的方式使用,如果你不在大型遗留代码库中,它很容易切换。