使用if和while显示数据时出现问题

时间:2019-06-19 18:14:37

标签: php

我在使用代码我的显示数据库使用ifwhile时遇到问题。

我在数据库中有4个数据。

我想使用if显示所有数据,但是只显示1个数据。

if($Z = mysqli_fetch_assoc($Y)){
  <!-- Data all display -->
} else {

}

我和while一起使用数据,数据全部显示

while($Z = mysqli_fetch_assoc($Y)){
    <!-- Data all display -->
}

如何使用if显示所有数据?

2 个答案:

答案 0 :(得分:0)

不可能。每次您在mysqli_fetch_assoc()变量(这是一种资源)上调用$Y时,都会获取下一行。

您必须始终使用while循环获取(formysqli_fetch_assoc())。

如果要一次获取所有结果,则必须使用mysqli_fetch_all()

编辑:虽然无法直接使用mysqli_fetch_assoc(),但您也可以执行以下操作:

<?php

$results = [];
while($Z = mysqli_fetch_assoc($Y)) {
  $results[] = $Z;
}

然后,您所有的行都将存储在$results中。

答案 1 :(得分:0)

  

如果我没记错,您使用IF语句只是为了检查是否存在   不会提取任何行。在代码下面有一种方法可以进行此检查。

     

首先检查是否使用if语句获取了任何行,然后使用while来   显示所有数据。

 $rowcount=mysqli_num_rows($Y);

    if($rowcount>0){

    while($Z = mysqli_fetch_assoc($Y)){
        <!-- Data all display -->
    }  
  }else{
   echo "no data found";
}