dongzi1209 2016-03-14 00:38
浏览 148

嵌套的foreach循环不输出数据

I'm trying to run a foreach loop inside of a while loop based on two different query results. The while loop iterates through completely, but I don't get any output from the nested foreach loop. Any ideas? I know it's not mysqli, I'm getting around to updating.

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>
";
            }
            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';
    }
  • 写回答

2条回答 默认 最新

  • douyou7102 2016-03-14 00:42
    关注
    foreach($passengers as $pasenger){
        if (isset($passenger[$pass])) {
            echo'<tr><td></td><td>'.$passenger["First"]. ', '. $passenger["Last"]. '</td></tr>';
        }
     }
    

    should be

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

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集