簡體   English   中英

兩個MySQL while循環無法正常工作[PHP]

[英]Two MySQL while loops not working properly [PHP]

我有兩個while循環,都通過MySQL結果,請參見代碼:

        $result1 = $sql->runQuery1();
        $result2 = $sql->runQuery2();

                    while($record1 = mysqli_fetch_array($result1))
                    {
                        echo "$record1['id'] : ";
                        while($record2 = mysqli_fetch_array($result2))
                        {
                            echo "$record2['id'] <br> ";
                        }
                    }

上面的代碼只能在循環內運行一次,下面的代碼:

        $result1 = $sql->runQuery1();


                    while($record1 = mysqli_fetch_array($result1))
                    {
                        $result2 = $sql->runQuery2();
                        echo "$record1['id'] : ";
                        while($record2 = mysqli_fetch_array($result2))
                        {
                            echo "$record2['id'] <br> ";
                        }
                    }

上面的代碼將在MySQL查詢中運行多次內部循環。 有沒有更有效的方法來遍歷該數據? 我不想每次都重新運行查詢。

如果以數組形式獲取結果,則應獲取所有結果。 對於PHP,我建議使用$results = $sql->runQuery1() ,它可以讓您在循環中遍歷結果:

foreach($results as $var) {
    $var->doStuff(); // or display or whatever
}

你當然可以嵌套這些

foreach($results as $var) {
    foreach($results2 as $var2) {
        $var->doStuff($var2); //for example
    }
}

這是手冊: http : //php.net/manual/de/control-structures.foreach.php

fetch_array和fetch_assoc會將查詢中一行中的所有字段都提供給關聯數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM