首页 > 解决方案 > PHP while($roww = $resultt->fetch_assoc()) 停在最后

问题描述

谁能告诉我当我的秒数结束时为什么第一个不会重新开始?

// Sum of totes for one BFT stations
                $sql = "SELECT DISTINCT(ord_Code) FROM `tasiemce`";
                $sqll = "SELECT ord_Code, SSCC FROM `tasiemce`";
                $resultt = $mysqli -> query($sqll);
                $result = $mysqli -> query($sql);

                if ($result->num_rows > 0) {
                    // output data of each row
                    while($row = $result->fetch_assoc()) {
                            echo "<div class='button button1'>" . $row["ord_Code"] . "</div>";
                            while($roww = $resultt->fetch_assoc()){
                                if($roww["ord_Code"] == $row["ord_Code"]){
                                    echo "<div class='button button1'>" . $roww["SSCC"] . "</div>";
                                }
                            }
                    }
                } else {
                    echo "0 results";
                }

                $mysqli->close();

标签: php

解决方案


您需要在第一个 while 循环结束时回退 $resultt。这是因为在第一个 while 循环的第一次迭代之后,您已经遍历了 $resultt 的整个结果集。

因此,下次您调用 fetch_assoc 时,它将返回 NULL,因为此处没有记录的更多

您可以使用data_seek方法查找或倒带。


推荐阅读