我有一个数据库表,该数据库表存储了一个城市的航班信息,该城市具有列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循环中,以便每次迭代都打印结果。相应地修改代码以获得所需的结果。

09-25 17:02