下面的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>';
}
}
答案 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>";
}