2016-02-25 70 views
1

編輯:我正在使用PHP來完成此操作。如何在foreach循環中的照片下顯示名稱

我正在製作一個從數據庫(名稱,照片路徑)中繪製信息的頁面,我希望它顯示圖片,然後顯示它下面的名稱。

foreach ($result_array as $la) { 
    $firstname = $la['first_name']; 
    $lastname = $la['last_name']; 
    $fullname = $firstname . ' ' . $lastname; 
    $image = $la['photo']; 
    echo '<img src="' . $image . '" width="100px" height="100px" alt="'.$fullname.'"/> '.$fullname.' '; 
} 

截至目前,被旁邊的照片顯示的名稱,只是很糟糕。我會如何着手讓名字出現在照片下方?

+1

這只是HTML ...只需添加'

'。$ fullname。'

' –

+0

建立html來做你想做的,然後建立一些PHP來輸出html,就像那樣... '
$全名' –

+0

@VincentDecaux當我這樣做時,漂亮的照片網格消失。有沒有一種方法來保持網格以及其下的名稱? – user3342038

回答

1

雖然比簡單添加換行符稍多一點的代碼,但您可以將圖像包裝在<figure>中,並在<img>之後添加<figcaption>

foreach ($result_array as $la) { 
$firstname = $la['first_name']; 
$lastname = $la['last_name']; 
$fullname = $firstname . ' ' . $lastname; 
$image = $la['photo']; 
echo '<figure><img src="' . $image . '" width="100px" height="100px" alt="'.$fullname.'"/><figcaption>'.$fullname.'</figcaption></figure>'; 
} 

,每行顯示多幅圖像,添加以下你的CSS:

figure { 
    display: inline-block; 
} 

檢查它在這個jsfiddle

+0

這仍然使得每行只有一個圖像。 – user3342038

+0

我已更新我的答案以解決多個圖像。 – jritchey

+0

這正是我想要的。非常感謝! – user3342038

0

試試這個:添加<br>創建一個換行符

foreach ($result_array as $la) { 
    $firstname = $la['first_name']; 
    $lastname = $la['last_name']; 
    $fullname = $firstname . ' ' . $lastname; 
    $image = $la['photo']; 
    echo '<img src="' . $image . '" width="100px" height="100px" alt="'.$fullname.'"/> <br>'.$fullname.' '; 
} 
+0

這使得每行只有一個圖像。如果我沒有名字,所有的圖像都會顯示在一個漂亮的網格中。有沒有辦法保持網格,但也有下面的名稱? – user3342038

+0

@ user3342038你將不得不爲它設計html,然後替換那裏的值。或者在這種情況下可能是'

'設計。 –

0

這有根據您的需要不同的選項。一個簡單的解決方案是圖像後添加一個換行符:

echo '<img src="' . $image . '" width="100px" height="100px" alt="'.$fullname.'"/><br /'.$fullname.' '; 

如果你想在風格更多的控制,你可以在一個div或者跨度包名稱,並指定一個類與CSS進一步設置樣式:

echo '<img src="' . $image . '" width="100px" height="100px" alt="'.$fullname.'"/><div class="imagename">'.$fullname.'</div>'; 

當然,您還可以將整個圖像和文本包裝在一個div中,在其內部有或沒有完整名稱,以便進一步增加樣式靈活性。