我在使用代码我的显示数据库使用if
和while
时遇到问题。
我在数据库中有4个数据。
我想使用if
显示所有数据,但是只显示1个数据。
if($Z = mysqli_fetch_assoc($Y)){
<!-- Data all display -->
} else {
}
我和while
一起使用数据,数据全部显示
while($Z = mysqli_fetch_assoc($Y)){
<!-- Data all display -->
}
如何使用if
显示所有数据?
答案 0 :(得分:0)
不可能。每次您在mysqli_fetch_assoc()
变量(这是一种资源)上调用$Y
时,都会获取下一行。
您必须始终使用while
循环获取(for
或mysqli_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";
}