php while循环数据库数据

时间:2017-05-09 21:10:02

标签: php if-statement while-loop

下面的while循环语句循环mysqli查询结果(来自数据库的文本和图像)。一行只能包含文本或图像和文本。我只是在图像字段为空时尝试显示文本,并且当它们都存在于一行时显示图像和文本。但是,我尝试在下面的while循环语句中使用if语句,问题是当它假设只显示文本时,它会显示带有src值的图像标记的文本,请帮助解决此问题。 感谢。

while($row = mysqli_fetch_assoc($query)){
    $id = $row["id"];
    $text = $row["texts"];
    $image =$row['images']; 
    if(!empty($text) && !empty($image)){
        echo '<img src='.$image.'/>';
        echo '<div>'.$text.'</div>';
    }elseif( !empty($text) && empty($image) ){
        echo '<div>'.$text.'</div>';
    }
}

2 个答案:

答案 0 :(得分:0)

$row['images']可能包含空格,请尝试修剪它。此外,您可以简化if

while($row = mysqli_fetch_assoc($query)){
    $id = $row["id"];
    $text = trim($row["texts"]);
    $image = trim($row['images']); 
    if(!empty($image)){
        echo '<img src='.$image.'/>';
    }
    if(!empty($text)){
        echo '<div>'.$text.'</div>';
    }
}

答案 1 :(得分:0)

while($row = mysqli_fetch_assoc($query)){
   $id = $row["id"];
   $text = $row["texts"];
   $image =$row['images']; 

   if($image)
      echo "<img src='{$image}' />";
   if($text)
      echo "<div>{$text}</div>";

}