我有一个数据库表,该数据库表存储了一个城市的航班信息,该城市具有列Destination_ID,Destinatination_City,Airline,Leaving_From和Arriving。
我运行以下查询:
$name = $_GET['name'];
$dbQuery = $db->prepare("SELECT * FROM DESTINATIONS
WHERE destination_City = '$name' ");
$dbQuery->execute();
$airlines= array();
while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)){
$Airlines[] = $dbRow['Airline']; }
foreach( $Airlines as $Airline )
{
$dbQuery = $db->prepare("SELECT * FROM DESTINATIONS
WHERE Airline = '$Airline' AND Destination_City = '$name' ");
$dbQuery->execute();
while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)){
$Arriving = $dbRow ['Arriving'];
$Leaving_From = $dbRow ['Leaving_From'] ; }
echo "$Leaving_From to $Arriving" ;
}
这将返回两个具有相同值的结果,但到达的列不同。但是,在打印时它将第二行打印两次,而不是同时打印两行。
我不确定为什么要这么做。有人可以帮忙吗?
最佳答案
dbQuery每次迭代都会获取一个结果集,因此您需要将echo代码放入while循环中,以便每次迭代都打印结果。相应地修改代码以获得所需的结果。