我正在创建一个城市内的商店列表。所以如果一个城市只有一家商店,我希望它只显示一个结果。当城市中有两个或多个商店时,我希望它显示多个商店的信息。以下是我所拥有的:

$result = mysql_query("SELECT * FROM stores where StoreID=$id order by city");
if (!$result) {
die('Invalid query: ' . mysql_error());
$id=mysql_result($result,"StoreID");
mysql_close();
}

<?php echo "$city"; ?>
<?php echo "$street"; ?> etc.

这只给了我一个结果,我不知道如何修改它来查找多个记录。我是一个PHP/MySql初学者,所以我非常感谢你的帮助,如果这是一个愚蠢或荒谬的问题,我会向你道歉。提前谢谢你的帮助!

最佳答案

使用此基本循环:

<?while($row = mysql_fetch_assoc($result):?>
  city: <?=$row['city']?><BR>
  State: <?=$row['state']?><BR>
<?endwhile;?>

去掉mysql_result()部分-使用mysql_fetch_assoc()更容易。
另外,您应该在PHP中使用http://www.php.net/mysqli库而不是MySQL。
我喜欢短标签,但如果你愿意的话,可以改成长标签。
同时代替:
$result = mysql_query("SELECT * FROM stores where StoreID=$id order by city");
if (!$result) {
die('Invalid query: ' . mysql_error());

我喜欢:
$result = mysql_query("SELECT * FROM stores where StoreID=$id order by city") or die('Invalid query: ' . mysql_error());

它更容易阅读。

关于php - $ variable是重复的但主键是唯一的时回显行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6755674/

10-12 14:16
查看更多