0

我有一个数据库,其中包含数千个邮政编码,第二列显示一个级别(在红色、蓝色和黄色之间)。我已经成功添加了数据库并且可以连接到它,但是返回的信息只显示了数据库的第一行。

我的表格很基本:-

<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()); 
} 
?> 

我正在寻找输入邮政编码,如果邮政编码在数据库中,则级别与邮政编码一起显示。如果数据库中没有邮政编码,则回显一条消息,指出未列出邮政编码。

任何帮助,将不胜感激!

4

1 回答 1

1

您要返回一行,您需要遍历结果并全部显示。

while($row = mysql_fetch_array($result)){
    echo "Postcode: ".$row['postcode'];
    echo "Level: ".$row['level'];
    echo "Floodlevel: ".$row['floodlevel'];
}

此外,不推荐使用 mysql* 函数。使用PHP 文档中描述的 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 样式语句。

于 2013-03-04T17:02:51.283 回答