什么是最好的循环使用

时间:2019-01-29 04:45:15

标签: php

我有一些代码需要遍历某些代码,但是我不确定使用哪种最佳循环。想法是,如果查询有任何结果,则回显ERROR:并停止。如果没有结果,请转到bla bla

目前,if语句仅返回1个项目,并且有多个。现在我知道我需要某种类型的循环来遍历结果,但是需要有关使用哪个循环的帮助。我尝试过将if语句放入while循环中,但它也直接进入bla bla。我也尝试使用exit;循环,但这也失败。

如果有人可以帮助我,我将不胜感激,因为我对这种编码形式还很陌生。非常感谢

$sql = "SELECT * FROM files WHERE department = '$dept' AND boxref = '$items'";
   $result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
     if($result = mysqli_query($conn, $sql)){
         if(mysqli_num_rows($result) > 0){
            while($row = mysqli_fetch_array($result)){
                $fileid = $row['id'];
                $fstatus = $row['filestatus'];
                $fitem = $row['custref'];
                $boxitem = $row['boxref'];
              }
            }
           }

          if($fstatus != '9') {
            echo 'ERROR:';
            echo ' File: ' . ' ' . $fitem . ' ' . ' In box: ' . $boxitem . '<br />';
          } else { 
            echo 'bla bla';
          }

2 个答案:

答案 0 :(得分:2)

您好,使用foreach循环对循环项目数组有好处:

答案 1 :(得分:1)

这是由于循环后检查条件引起的!您需要将语句移入循环。您也可以删除 mysqli_num_rows($result) > 0 ,因为它没有任何作用。 (如果没有行,将跳过循环)

$sql = "SELECT * FROM files WHERE department = '$dept' AND boxref = '$items'";
   $result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
     if($result = mysqli_query($conn, $sql)){
          while($row = mysqli_fetch_array($result)){
              $fileid = $row['id'];
              $fstatus = $row['filestatus'];
              $fitem = $row['custref'];
              $boxitem = $row['boxref'];
              if($fstatus != '9') {
                  echo 'ERROR:';
                  echo ' File: ' . ' ' . $fitem . ' ' . ' In box: ' . $boxitem . '<br />';
              } else { 
                  echo 'bla bla';
              }
        }
   }

我认为最好的循环遍历此循环-您不必考虑其他问题。