2016-02-06 178 views
1

如何在記錄中沒有圖像時顯示空白。由於我在沒有圖像的數據庫中插入了記錄,但是在讀取記錄時它在前端顯示空白圖像。它不應該如果沒有圖像顯示任何圖像。這是我的代碼。如果沒有圖像,它應該只顯示說明。在php中顯示圖像

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); 
+0

如何隱藏圖像領域,如果沒有圖像 – user5891511

回答

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%;' />"; ?> 
+0

我們如何可以插入空格連字符instaead到數據庫 – user5891511

+0

如何將Url文本與hypens分開 – user5891511

0

幾個基本點,我們進入這之前

1)您所使用的MySQL庫是老搗毀 - 你應該使用一些新的 - read this - 選項是Mysql PDOMySqli - 我答應你,你會很高興你沒有,我使用IDIORM爲一個接口,覺得很不錯(也有助於防止東西在下面2點!)

2)你的代碼可以注入SQL - more about that here - 這是非常不好的:)

下面是一個例子,我已經修復了SQL注入問題並放入一些邏輯來測試是否存在圖像,如果不存在,它會轉儲出'noimage.jpg'的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>