我有一个包含数千个邮政编码的数据库,其中第二列显示一个级别(红色,蓝色和黄色之间)。 我已经成功添加了数据库并可以对其进行处理,但返回的信息仅显示数据库的第一行。
我的表格很基本: -
<body>
<form method="post" action="database.php">
Postcode
:
<input name="postcode" type="text" id="postcode" size="30"><?php echo $postcode ?>
<br>
<br>
<br>
<input type="Submit" value="Submit">
</form>
</body>
到目前为止我的PHP代码是: -
<?php
$con = mysql_connect("localhost","###","###");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("###", $con);
$result = mysql_query("SELECT * FROM `TABLE 1` LIMIT 0, 33546 ")
or die(mysql_error());
$row = mysql_fetch_array( $result );
// Print out the contents of the entry
echo "Postcode: ".$row['postcode'];
echo "Level: ".$row['level'];
echo "Floodlevel: ".$row['floodlevel'];
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
?>
我希望输入一个邮政编码,如果邮政编码在数据库上,那么显示的级别以及邮政编码。如果数据库中的后置代码为no,则回显一条消息,说明邮政编码未列出。
任何帮助将不胜感激!
答案 0 :(得分:1)
您要返回一行,您需要循环显示结果并全部显示。
while($row = mysql_fetch_array($result)){
echo "Postcode: ".$row['postcode'];
echo "Level: ".$row['level'];
echo "Floodlevel: ".$row['floodlevel'];
}
此外,不推荐使用mysql *函数。使用the PHP docs
中描述的mysqli或PDO如果用户邮政编码存在,则显示一条消息:
$postcode = "E9 7TR";
$result = mysql_query("SELECT * FROM `TABLE 1` WHERE postcode='$postcode' ")
or die(mysql_error());
$row = mysql_fetch_array( $result );
if(mysql_num_rows($row) >= 1) // display success message
else // display not found
同样,这是使用不再推荐的旧式mysql *查询,最好使用PDO样式语句。