嵌套的 foreach 循环不输出数据


Nested foreach loop not outputting data

我正在尝试根据两个不同的查询结果在 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>';
    }
 }

感谢所有花时间看这篇文章的人! 问题最终是未正确创建成员 ID 到数据库中。 代码现在工作正常。