提前感谢您提供的任何帮助。
我正在执行一个返回如下内容的查询:
route | busnumber
2 300
4 123
2 455
12 934
我的目标是打印/回显所有“busnumber”的列表,其中“route”= 2。 我知道我可以在数据库上进行查询来执行此操作,但我不想为每个路由运行此查询。结果集实际上是一个主要的复杂查询的一部分,所以我需要使用数组来实现我的目标。
查询正常运行并显示相应的信息。我还将结果返回到数组中。即...
$query=("SELECT * from foo")
$result=mysql_fetch_assoc($query);
我目前的代码如下(请注意我的评论):
mysql_data_seek( $result,0); // because I'm previously iterating through $result
while ($i2=mysql_fetch_assoc($result)) {
$busnumber=$i2['busnumber'];
$busroute=$i2['route'];
echo "<div class='businfo'>";
if ($busroute='2'){ // I only want this to happen if $busroute=2
echo "Current Route = $busroute</br>";
echo "Bus Number : $busnumber </br>";
}
echo "</div>";
}
我得到的是,它回应了相同的'$ busroute'(2),但每行的'$ busnumber'不同:
Current Route = 2
Bus Number : 194
Current Route = 2
Bus Number : 196
Current Route = 2
Bus Number : 2002
Current Route = 2
Bus Number : 2010
Current Route = 2
Bus Number : 2013
问题是所有这些公交车号码都不是路线2的一部分。它是所有路线的公交车号码列表。如果$ routenumber = 2,我只希望它执行foreach循环。
再次感谢您的帮助:)
答案 0 :(得分:3)
if ($busroute='2'){
问题是你没有在这里检查它是否等于2,你将它指定为等于2.将它更改为此并且你会没事的:
if ($busroute=='2'){
答案 1 :(得分:0)
$query = "SELECT * from foo";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
if ($row['route'] == 2) {
// do your stuff
}
}