我正在创建城市内的商店列表。因此,如果城市中只有一家商店,我希望它只显示一个结果。当城市内有两个或更多商店时,我希望它在多个商店中显示信息。这就是我所拥有的:
$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初学者,所以如果这是一个愚蠢的问题或荒谬的问题,我非常感谢你的帮助并道歉。提前感谢您的帮助!
答案 0 :(得分:1)
使用此基本循环:
<?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。
PS。我喜欢短标签,但如果您愿意,可以更改为长标签。
而不是:
$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());
阅读起来比较容易。
答案 1 :(得分:1)
$result = mysql_query("SELECT * FROM stores where StoreID=$id order by city");
if (!$result) {
die('Invalid query: ' . mysql_error());
}else{
while($row = mysql_fetch_assoc($result)){
echo $row['city']." : ".$row['street']."<br />";
}
}
while()逐步获取结果,因此它会给你结果