2015-04-28 40 views
2

首先我對標題感到抱歉,但我無法想象如何解釋這種情況。如果有人想要編輯它。因此,我有這樣的情況,而且我無法真正瞭解如何製作它。這是HTML部分,我有兩個不同的div和3列圖像。問題在於第1和第3列有大圖像。 HTML是這樣的:以兩種不同div風格從數據庫中的一張表中顯示圖像

<div class="row"> <!-- Start Row --> 
    <div class="col-sm-4 col-md-4 col-lg-4 nopadding"> <!-- First Column --> 
     <div class="small-box"> 
       // image 800x533 
     </div> 
     <div class="large-box"> 
       // image 860x1068 
     </div> 
    </div> <!-- End First Column --> 

    <div class="col-sm-4 col-md-4 col-lg-4 nopadding"> <!-- Second Column --> 
     <div class="small-box"> 
      // image 800x533 
     </div> 
     <div class="small-box"> 
      // image 800x533 
     </div> 
     <div class="small-box"> 
      // image 800x533 
     </div> 
    </div> <!-- End Second Column --> 

    <div class="col-sm-4 col-md-4 col-lg-4 nopadding"> <!-- Third Column --> 
     <div class="large-box"> 
      // image 860x1068 
     </div> 
     <div class="small-box"> 
      // image 800x533 
     </div> 
</div> 

這是我打算使用的PHP部分。只需從數據庫加載一些圖像就非常簡單。

$pdo = Database::connect(); 

foreach($pdo->query("SELECT * FROM images ORDER BY image_id LIMIT 7") as $row) 
{ 
     // load images images 
} 
Database::disconnect(); 

如何將它們加載到這3列中?有沒有人有想法可以做到這一點? Al圖像在一張桌子裏。

這是Jsfiddle我已經讓它看起來像畫廊。這兩張熊貓圖像是大盒子。其他人則是小盒子。 JSFIDDLE

+2

什麼問題?你當然知道如何從PHP創建動態HTML?數據庫中有什麼,只有圖像文件或base64編碼圖像的鏈接? – Paul

+0

我知道是的。但我無法想出如何在php中創建這種類型的htm。如果它只是一個div,這是沒有問題的。但在這裏他們是混合的小盒子,大盒子...小,小...等。數據庫中的圖像是鏈接到主機上的文件夾。 – John

+0

收集數組中的所有圖像路徑,然後僅在正確的位置回顯適當的路徑,例如, ' Paul

回答

2

假設像IMAGES [id | path | caption]這樣簡單的數據庫表。然後,檢索圖像會是這樣的:

$images = []; 
$pdo = Database::connect(); 

foreach($pdo->query("SELECT * FROM images ORDER BY image_id LIMIT 7") as $row) 
{ 
     // load images images 
     $images[] = [ 
      'path' => $row['path'], 
      'caption' => $row['caption'] 
     ]; 
} 
Database::disconnect(); 

接下來,您可以使用您的HTML,並使用一些簡單的功能來輸出圖像。首先,PHP函數創建一個圖像:

function image_html($image, $size = 'small') { 
    return '<img src="' . $image['path'] . '" title="' . $image['caption'] . '" class="' . $size . '"/>'; 
} 

那麼你的HTML:

<div class="row"> <!-- Start Row --> 
    <div class="col-sm-4 col-md-4 col-lg-4 nopadding"> <!-- First Column --> 
     <div class="small-box"> 
       // image 800x533 
       <?php echo image_html($images[0]); ?> 
     </div> 
     <div class="large-box"> 
       // image 860x1068 
       <?php echo image_html($images[1], 'large'); ?> 
     </div> 
    </div> <!-- End First Column --> 

    <div class="col-sm-4 col-md-4 col-lg-4 nopadding"> <!-- Second Column --> 
     <div class="small-box"> 
      // image 800x533 
       <?php echo image_html($images[2]); ?> 
     </div> 
     <div class="small-box"> 
      // image 800x533 
       <?php echo image_html($images[3]); ?> 
     </div> 
     <div class="small-box"> 
      // image 800x533 
       <?php echo image_html($images[4]); ?> 
     </div> 
    </div> <!-- End Second Column --> 

    <div class="col-sm-4 col-md-4 col-lg-4 nopadding"> <!-- Third Column --> 
     <div class="large-box"> 
      // image 860x1068 
       <?php echo image_html($images[5], 'large'); ?> 
     </div> 
     <div class="small-box"> 
      // image 800x533 
       <?php echo image_html($images[6]); ?> 
     </div> 
</div> 
+0

感謝您的回答。這個錯誤是什麼意思 - '注意:未定義的偏移量:0 ...至6'? – John

+0

你是不是在函數'image'或'images'中指的是什麼? – John

+0

那麼你對PHP有一個基本的瞭解,對吧?'$ images'是包含數據庫中所有圖像的數組,'$ image'是單一圖像信息(再次使用一個數組)在'image_html()'函數中使用。 – Paul

相關問題