2016-07-08 75 views
1

下面是我的代碼顯示圖像的信息,包括它的文件,但這不顯示,我不知道爲什麼。請幫助我們。圖像不顯示使用php mysql

<?php 
     include('config/dbconnect.php'); 
     if(isset($_GET['id'])) 
     { 
      $id = $_GET['id']; 
      $sql = mysqli_query($con, "SELECT * FROM collage WHERE id = '$id'"); 
      while($row = mysqli_fetch_array($sql)) { 
        $name = $row['name']; 
        $content = $row['content']; 
        $size = $row['size']; 
        $type = $row['type']; 
        $date_upload = $row['date_upload']; 
        $file = $row['file']; 
      } 
     } 
?> 
<div class='body-content'> 
<div class='img-name-cont'><h3><?php echo $name; ?></h3></div> 
<div class='img-detail-cont'>upload: <?php echo $date_upload; ?><br>type: <?php echo $type; ?><br>size: <?php echo $size; ?>KB </div> 
<div class='img-file-cont'> 
<img src="img/collage/<?php echo $row['file'] ?>" style="width:130px; height:100%"></div> 
<div class='img-content-cont'><?php echo $content; ?></div> 
</div> 
+0

查看頁面源 - 是HTML正確 – 2016-07-08 04:01:53

+0

你得到的代碼檢查?? PS任何錯誤代碼:你的代碼可以通過SQL注入 –

+0

注射後' <?php' add'error_reporting(E_ALL); ini_set('display_errors' ,1);'並寫入'$ sql = mysqli_query($ con,「SELECT * FROM collage WHERE id ='$ id'」)或死(mysqli_error($ con));'並檢查錯誤 –

回答

1

這裏的問題是「你所有的變量都是本地的while循環」。所以你不能在while循環之外訪問它。試試這個代碼。

<?php 
     include('config/dbconnect.php'); 
     if(isset($_GET['id'])) 
     { 
      $id = $_GET['id']; 
      $sql = mysqli_query($con, "SELECT * FROM collage WHERE id = '$id'"); 
      while($row = mysqli_fetch_array($sql)) { 
     ?> 

        <div class='body-content'> 
        <div class='img-name-cont'><h3><?php echo $row['name']; ?></h3></div> 
        <div class='img-detail-cont'>upload: <?php echo $row['date_upload']; ?><br>type: 
        <?php echo $row['type']; ?><br>size: <?php echo $row['size']; ?>KB </div> 
        <div class='img-file-cont'> 
        <img src="img/collage/<?php echo $row['file']; ?>" style="width:130px; height:100%"></div> 
        <div class='img-content-cont'><?php echo $row['content']; ?></div> 
        </div> 
     <?php 
      } 
     } 
?> 
+0

謝謝你dulaj ..我會試試這個。 – Ryan

0

嘿通過Dulaj嘉亞的回答您的所有variableslocal所以你不能使用的while那外面。其次,如果你想用你的代碼,那麼你已經採取的$row所有的數據在不同的variables則使用的文件之外,那麼爲什麼,爲什麼你已經使用$row['file'];

只需更換這條線

你不使用相同的 $fileimage
<div class='img-file-cont'> 
        <img src="img/collage/<?php echo $file; ?>" style="width:130px; height:100%"></div> 
+0

謝謝你mamta – Ryan

2

首先使用檢查來檢查圖像是否實際上是由代碼指向的。那實際的興趣可能沒有指向。什麼是你的文件夾結構。

「style =」width:130px;身高:100%「>

你的代碼是好的,只要PHP的echo $行[‘文件’]返回一個文件

0

一定要檢查echo $row['file']如果返回的圖像路徑的正確的字符串。 ?用正確的文件擴展名

+0

謝謝你的優雅。 – Ryan

0

 
try this one :

first of all you have to check if your image path ok or not using this php function:

<?php $img=getimagesize($imagewithpath); if($img=="") { echo "there is no image ";} else{ ?> <img src="<?php echo $imagewithpath; ?>" style="width:130px; height:100%"> <?php } ?>
+0

謝謝你的建議Ashish。 – Ryan