如何隐藏显示为''的破损图片图标?https:/www.underconsideration.combrandnewarchivesgoogle_broken_image_00_a_logo.gif'时,没有图片显示?我用php和css创建了一个评论框,允许用户在上传照片的同时留下评论。但是,如果用户只想留下评论而不上传任何照片,如果他们只留下评论而不上传任何照片,评论区就会显示破碎的图片图标。
我应用了 onError='this.style.display ='none';'
和 alt=''
我的脚本上,但仍然没有运气。
以下是我写的代码,当用户留言或上传照片时,显示评论和照片。
function getComments($conn){
$sql = "SELECT * FROM comments";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo "<div class = 'comment_box'><p>";
echo "<div class = 'comment_id'><p>";
echo $row['uid']."<br>";
echo "</p></div>";
echo "<div class = 'comment_date'><p>";
echo $row['date']."<br>";
echo "</p></div>";
echo "<div class = 'comment_msg fixed'><p>";
echo make_clickable(nl2br($row['message']));
echo "</p></div>";
echo "<div id='img_div'>";
echo "<img class='img_size' src='images/".$row['image']."' onError='this.style.display ='none';' alt='' />";
echo "</div>";
echo "</p>
<form class='delete-form' method='POST' action='".deleteComments($conn)."'>
<input type='hidden' name='cid' value='".$row['cid']."'>
<button type='submit' name='commentDelete'><img class='img_remove' src='img/remove.png'>REMOVE</button>
</form>
<form class='slash-form '>|
</form>
<form class='edit-form' method='POST' action='editcomment.php'>
<input type='hidden' name='cid' value='".$row['cid']."'>
<input type='hidden' name='uid' value='".$row['uid']."'>
<input type='hidden' name='date' value='".$row['date']."'>
<input type='hidden' name='message' value='".$row['message']."'>
<button><img class='img_change' src='img/change.png'>EDIT</button>
</form>
</div>";
}
}
图片图标损坏的问题发生在:
echo "<div id='img_div'>";
echo "<img class='img_size' src='images/".$row['image']."' onError='this.style.display ='none';' alt='' />";
echo "</div>";
我不能确定你的数据库是什么样的,但你可以使用类似这样的东西来渲染一个条件块。
if (isset($row['image']) && $row['image'] != '') {
echo "<div id='img_div'>";
echo "<img class='img_size' src='images/" . $row['image'] . "' alt='' />";
echo "</div>";
} else {
echo "<div id='img_div'>";
echo "<img class='img_size' src='images/path-to-blank-image.png'alt='' />";
echo "</div>";
}