在php中显示图像

时间:2016-02-06 11:08:02

标签: php mysql

如果记录中没有图像,如何显示空白。由于我在数据库中插入了没有图像的记录,但在获取记录时,它在前端显示空白图像。如果有,则不应显示任何图像没有形象。这是我的代码。如果没有图像,则应仅显示描述。

Blogimage.php

<tbody>
<?php include "blogs.php" ;
while($row =  mysql_fetch_array($result))
{?>            
<tr>    
<td><img src="admin/upload/<?php echo $row['image'];?>" height="100" style="width:60%;height:50%;"/></td>
</tr>
<tr>
<td><?php echo "<p style='width:60%;'>" .$row['blog_description']."</p>"; ?></td>
</tr>
<?php }?>
</tbody>

Blogs.php

$id=$_GET['title'];
$res = "SELECT *  FROM blogs 
 WHERE blog_title='$id'";
 $result=mysql_query($res);

2 个答案:

答案 0 :(得分:0)

尝试更改此

<img src="admin/upload/<?php echo $row['image'];?>" height="100" style="width:60%;height:50%;"/>

到这个

<?php if($row['image']) echo "<img src='admin/upload/".$row['image']."' height='100' style='width:60%;height:50%;' />"; ?>

答案 1 :(得分:0)

在我们讨论之前的几个要点

1)你正在使用的MySql库已经过时了 - 你应该使用更新的东西 - read this - 选项是Mysql PDOMySqli - 我保证你,你会很高兴,我使用IDIORM作为界面并发现它非常好(也有助于防止下面第2点的内容!)

2)您的代码可以是SQL注入 - more about that here - 这非常糟糕:)

下面是一个例子,我已经解决了SQL注入问题,并提出了一些可以测试是否存在图像的逻辑,如果没有,它会转出一个&#39; noimage.jpg&#39; src值。

我删除了include,只是简单地将blogs.php的代码放入内联。

<tbody>

    <?php 

    //START CODE FOR BLOGS.PHP
    $query = sprintf("SELECT *  FROM blogs WHERE blog_title='%s'",
        mysql_real_escape_string($_GET['title']));
    $result = mysql_query($query);
    //END CODE FOR BLOGS.PHP

    while($row =  mysql_fetch_array($result))
    {

        if(!empty($row['image']) && strlen($row['image']) > 4)
        {
            $iamgeSrc = 'admin/upload/' . $row['image'];
        }
        else
        {
            $imageSrc = 'admin/upload/noimage.jpg';
        }
    ?>            
        <tr>    
            <td>
                <img src="<?php echo $imageSrc; ?>" height="100" style="width:60%;height:50%;"/>
            </td>
        </tr>
        <tr>
            <td>
                <?php echo "<p style='width:60%;'>" .$row['blog_description']."</p>"; ?>
                </td>
        </tr>
    <?php 
    }
    ?>

</tbody>

如果你想要根本不显示图像,那么这将起作用

<tbody>

    <?php 

    //START CODE FOR BLOGS.PHP
    $query = sprintf("SELECT *  FROM blogs WHERE blog_title='%s'",
        mysql_real_escape_string($_GET['title']));
    $result = mysql_query($query);
    //END CODE FOR BLOGS.PHP

    while($row =  mysql_fetch_array($result))
    {
        $image = '';

        if(!empty($row['image']) && strlen($row['image']) > 4)
        {
            $image = '<img src="admin/upload/'.$row['image'].'" height="100" style="width:60%;height:50%;"/>';
        }

    ?>            
        <tr>    
            <td>
                <?php echo $image; ?>
            </td>
        </tr>
        <tr>
            <td>
                <?php echo "<p style='width:60%;'>" .$row['blog_description']."</p>"; ?>
                </td>
        </tr>
    <?php 
    }
    ?>

</tbody>