php - 嵌套foreach循环不输出数据

标签 php mysql

我正在尝试根据两个不同的查询结果在 while 循环内运行 foreach 循环。 while 循环完全迭代,但我没有从嵌套的 foreach 循环中得到任何输出。有任何想法吗?我知道这不是 mysqli,我正在抽时间更新。

if ($con) {
    $sql = "SELECT Flights.TeamID, Flights.FlightID, Flights.MemberID, Flights.DepDate, Flights.DepTime, Flights.DepPoint, Flights.DepCountry, Flights.ArrDate, Flights.ArrTime, Flights.ArrPoint, Flights.ArrCountry, Flights.Layover, Flights.Airline, Flights.FlightNo, Members.MemberID FROM Flights LEFT JOIN Members ON Flights.MemberID=Members.MemberID ORDER BY DepDate ASC, DepTime";
    $result = mysql_query($sql) or die(mysql_error());

    $passengers = array();
    $sql2 = "SELECT Members.MemberID, MemberAdmin.IndID, MemberAdmin.First, MemberAdmin.Last From Members LEFT JOIN MemberAdmin ON Members.IndID=MemberAdmin.IndID";
    $result2 = mysql_query($sql2) or die(mysql_error());
    while($row2=mysql_fetch_array($result2)) {
       $passengers[$row2["MemberID"]] = $row2;
    }

    if ($result) {

        // output data of each row from query1.

        echo "<table><thead style='white-space: nowrap; padding: 10px;'><tr><th width='160px'></th><th width='170px' style='text-decoration:underline; margin-right: 0;'>Flight:</th><th width='170px' style='text-decoration:underline;'>Dep Time:</th><th width='170' style='text-decoration:underline; margin-right: 0;'>Dep Point:</th><th width='170px' style='text-decoration:underline; margin-right: 0;'>Arr Time:</th><th width='170px' style='text-decoration:underline; margin-right: 0;'>Arr Point:</th></tr><tbody>";
        $trdate=null;
        while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
            $da = strtotime($row["ArrDate"]);
            $dd = strtotime($row["DepDate"]);

            if($trdate != $row['DepDate']){
                $trdate = $row['DepDate'];
                echo "<tr class='spacer'></tr><tr><td style='white-space: nowrap; padding: 10px;'><b>".date('D - dS',strtotime($row['DepDate']))."</b></td></tr>\r\n";
            }
            echo "<tr><td></td><td>". $row["Airline"]. " ". $row["FlightNo"]. "</td><td>". date("g:i A",strtotime($row["DepTime"])). "</td><td>". $row["DepPoint"]. ", " . $row["DepCountry"]. "</td><td>". date("g:i A",strtotime($row["ArrTime"])). "</td><td>".  $row["ArrPoint"]. ", " . $row["ArrCountry"]. "</td>";

            // output conditional data from query2.

            $pass = $row["MemberID"];
            foreach($passengers as $passenger){
                if (isset($passenger[$pass])) {
                    echo'<tr><td></td><td>'.$passenger["First"]. ', '. $passenger["Last"]. '</td></tr>';
                }
            }
        }

        echo "</tbody></table>";
    } else {
        echo "0 results";
    }
    }
    else {
        echo'Not connected to database';
    }

最佳答案

foreach($passengers as $pasenger){
    if (isset($passenger[$pass])) {
        echo'<tr><td></td><td>'.$passenger["First"]. ', '. $passenger["Last"]. '</td></tr>';
    }
 }

应该是

foreach($passengers as $passenger){
    if (isset($passenger[$pass])) {
        echo'<tr><td></td><td>'.$passenger["First"]. ', '. $passenger["Last"]. '</td></tr>';
    }
 }

关于php - 嵌套foreach循环不输出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35977775/

相关文章:

php - MySql 嵌套选择变量在 PHP 中不起作用

php - 为什么 MySQL 允许 VARCHAR(255) 有更大的数字

mysql - 在不使用ajax的情况下,如何将sql查询结果数据返回到node.js中的调用者函数?

php - 在 yii 1.1 中使用 MYsql 创建表

php - 我们的用户从 Amazon S3 下载随机失败,需要帮助找出问题所在

PHP静态方法

php - 为什么 Mobiledetect.net 脚本无法检测到 iPhone?

javascript - 如何使用 PHP 和 AJAX 加载基于其他表单数据的表单

php 说有些结果不是未定义的,有些是

mysql - 优化关联表查询