首页 > 解决方案 > 如果 [在 php 中] 为空,如何从检索中跳过图像字段?

问题描述

我正在制作博客系统,其中包含:文本和图像,如果用户不插入图像,它应该跳过该图像字段来检索,而它在每个帖子中显示空图像字段。这段代码有什么问题?或者有什么可能的方法,if/else 条件语句在 echo 中?

$get_posts="SELECT * FROM posts";
$run_posts=mysqli_query($con,$get_posts);
while($row_post=mysqli_fetch_array($run_posts)){

$post_id=$row_post['post_id'];
$user_id=$row_post['user_id'];      
$post_img=$row_post['post_image'];  
$post_cnt=$row_post['post_cnt'];
$post_date=$row_post['post_date'];      

echo"<div class='posts'>
<p>$post_date</p>   
<p><img src='img/$post_img'width='380'height='auto'/></p>
<p>$post_cnt</p>
<a href='single.php?post_id=$post_id'style='float:right;'>
<button>See Replies or Reply to This</button></a>
</div><br/>";   

}

标签: phphtml

解决方案


是的,您必须使用 if else 条件:

$get_posts="SELECT * FROM posts";
$run_posts=mysqli_query($con,$get_posts);
while($row_post=mysqli_fetch_array($run_posts)){

    $post_id=$row_post['post_id'];
    $user_id=$row_post['user_id'];      
    $post_img=$row_post['post_image'];  
    $post_cnt=$row_post['post_cnt'];
    $post_date=$row_post['post_date'];      



    $output = '<div class="posts"><p>'.$post_date.'</p>';

    if($post_img != ''){
        $output .= '<p><img src="img/'.$post_img.'" width="380" height="auto"/></p>';
    }

    $output .= '<p>'.$post_date.'</p><p>'.$post_cnt.'</p>
    <a href="single.php?post_id='.$post_id.' "style="float:right;">
        <button>See Replies or Reply to This</button></a>
    </div><br/>';

    echo $output; 

}

推荐阅读