带有列表框的php表单不工作?
在下面的代码中,列表框将填充值,但当我选择相应的列表值并单击“搜索”时,表不会显示。我在这里使用了SELF_PHP进行表单操作,这个表单的想法是,在加载页面时,列表中会包含和填充id。当我选择一个列表值并单击搜索按钮时,它将显示仅包含该救护车ID或已在列表框中选择的ID值的表格。请帮帮我带有列表框的php表单不工作?,php,html,mysql,Php,Html,Mysql,在下面的代码中,列表框将填充值,但当我选择相应的列表值并单击“搜索”时,表不会显示。我在这里使用了SELF_PHP进行表单操作,这个表单的想法是,在加载页面时,列表中会包含和填充id。当我选择一个列表值并单击搜索按钮时,它将显示仅包含该救护车ID或已在列表框中选择的ID值的表格。请帮帮我 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<title>TPS Login Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<center>
<h2>Ambulance Activity Log</h2>
<hr>
<form name="search" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
View activity of ambulance:
<Select NAME="field">
<?php
include 'con.php';
$query = "SELECT amb_id FROM ambulance;";
$result = mysql_query($query) or die("Unable to retreive amb_id :".mysql_error());
if(mysql_num_rows($result) > 0)
{
while($row = mysql_fetch_array($result))
{
echo"<option id=\"ambid\" value=$row[amb_id]>$row[amb_id]</option>";
}
}
?>
</Select>
<input class="btn btn-info" type="submit" name="search" value="Search" />
<input type="hidden" name="searching" value="yes" />
</form>
<?php
if(isset($_POST['submit']))
{
$id=getElementById('ambid') ;
$query = "SELECT * FROM log WHERE amb_id='$id' ORDER BY l_time DESC;";
$result = mysql_query($query) or die(mysql_error());
print "
<table border=\"5\" cellpadding=\"5\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#808080\" width=\"800\" text-align=\"center\" id=\"AutoNumber2\" bgcolor=\"#C0C0C0\">
<tr>
<td width=\"30\">Amb ID</td>
<td width=\"120\">Event Time</td>
<td width=\"50\">Description</td>
<td width=\"30\">Signal ID</td>
<td width=\"30\">Road No</td>
<td width=\"30\">Priority</td>
</tr>";
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
print "<tr>";
print "<td>" . $row['amb_id'] . "</td>";
print "<td>" . $row['l_time'] . "</td>";
print "<td>" . $row['l_event'] . "</td>";
print "<td>" . $row['t_sigid'] . "</td>";
print "<td>" . $row['l_roadno'] . "</td>";
print "<td>" . $row['e_priority'] . "</td>";
print "</tr>";
}
print "</table>";
print "</center>";
}
?>
</body>
</html>
TPS登录页面
救护车活动日志
请帮帮我。
提前感谢:)给
标签起个更好的名字。并引用您的“$row[amb_id]”
<代码>值=$row[amb\u id]!这是错误的
<select name="ambid" size="10">
....
{
echo"<option value=\"$row[amb_id]\">$row[amb_id]</option>";
}
</select>
您是否检查了正在生成的HTML以确保其正确性?getElementById()不是一个php函数,它应该是
$\u GET['field']
而且在使用php时,您有sql注入和XSS。\u self您将javascript(getElementById)与php代码混合使用。此外,您还尝试在同一文件中显示和处理表单post。最好使用两个文件。当然,单独的文件(表单->处理)将帮助您进行调试。您看到我的两个答案了吗?Wy没有回应?请,请,请不要建议人们在他们的代码中包含SQL注入漏洞…@Adrian:我知道我一天读一百遍。这是OP的选择。看起来还不是产品开发。是的,但是如果我们要提供示例代码,我们不应该鼓励人们写一些不好的东西。。。坏的例子会产生坏的代码和不知情/错误的开发人员,好的例子则相反。如果我们能用mysqli或PDO替换所有使用mysql_*的“教程”和“示例”,我们会看到使用它们的人会减少90%,这仅仅是因为很多人从他们在“网上某处”找到的示例中学习。@Adrian Bro chill。这只是一个学术项目。
if(isset($_POST['submit']))
{
$id=$_POST['ambid'];
$query = "...