提问者:小点点

php中的多个while循环问题


下面的代码有什么问题? 第二个循环显示所有的数据,而不是它只需要按顺序显示数据

public function readitems(){
        $data1 = array();
      echo  $query = "SELECT DISTINCT `orderno` FROM `entrysales` WHERE `billstatus`='unbilled' ORDER BY id DESC";
        $execute = mysqli_query($this->conn,$query);
        while($row=mysqli_fetch_assoc($execute))
        {
          //$data[]=$row;
          $orderno = $row['orderno'];
          echo  $query1 = "SELECT * FROM `entrysales` WHERE `orderno`='$orderno' ORDER BY id DESC";
          $execute1 = mysqli_query($this->conn,$query1);
          while($row1=mysqli_fetch_assoc($execute1))
          {
            $data1[] = $row1;
          }      
          
        }    
        return $data1;
      }

共1个答案

匿名用户

确保您没有在循环本身内部反复使用同一个数组。 因为它会不断地向现有数组中添加更多的值,最终您会得到一些您意想不到的东西。

添加

unset($row1);

在内循环结束后,但它应该在外循环中。