PHP while($ roww = $ resultt-> fetch_assoc())最后停止

时间:2018-06-20 16:09:36

标签: php

有人可以告诉我,当我的秒数结束时,为什么第一个不再开始吗?

// 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();

2 个答案:

答案 0 :(得分:3)

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

因此,下一次您对此调用fetch_assoc时,由于没有here中所述的更多行,它将返回NULL。

您可以使用data_seek方法搜索或倒带。

答案 1 :(得分:-1)

使用以下内容:-

$sql = "SELECT DISTINCT(ord_Code) FROM `tasiemce`";
$result = $mysqli -> query($sql);

if ($result->num_rows > 0){
   // output data of each row
   while($row = $result->fetch_array()){
      echo "<div class='button button1'>" . $row["ord_Code"] . "</div>";
      $sqll = "SELECT ord_Code, SSCC FROM `tasiemce` where ord_code = '".$row->ord_code."'";
      $resultt = $mysqli -> query($sqll);
      while($roww = $resultt->fetch_assoc()){
         echo "<div class='button button1'>" . $roww["SSCC"] . "</div>";
      }
   }
}
else{
    echo "0 results";
}
$mysqli->close();

希望这会起作用。