私のイメージを mySQL データベースから適切に整列させるのに問題があります。私が抱えている問題は、基本的に CMS からこのページに 24 枚の画像をロードしたいということです。1行あたり4つの画像を持つように設計されたテーブルに画像をロードしています。問題: 最初の行には 2 つの画像があり、2 番目には 1 つの画像があり、3 番目には 3 つの画像があり、4 番目には 1 つの画像があり、5 番目には 3 つの画像があり、6 番目と 7 番目には行ごとに 1 つの画像があります。行ごとに 4 つの画像を取得できません。誰でも助けてもらえますか?
<!-- IMAGE GALLERY -->
<h2 class="text1">Image Gallery</h2>
<p>Click any image to open up a larger version</p>
<div class="gallery">
<?php
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$query = "SELECT * FROM cmhimage ORDER BY id DESC";
$data = mysqli_query($dbc, $query);
?><table><?php
$level = 1;
while ($row = mysqli_fetch_array($data)) {
$description = $row['capt'];
$photo = $row['file'];
$count = 1;
$level = $level + $count;
if (($level == 4) || ($level == 8) || ($level == 12) || ($level == 16) || ($level == 20) || ($level == 24)){
echo '<tr>';
}
// Display the data
echo '<td><table><tr><td><a href="manage/image/' . $photo . '" target="_blank"><img class="imgcontain" src="manage/image/' . $photo .'" border="0"/></a></td></tr></td><br/>';
echo '<td><tr><td><p class="caption">' . $description .'</p></tr></td></table></td>';
if (($level == 4) || ($level == 8) || ($level == 12) || ($level == 16) || ($level == 20) || ($level == 24)){
echo '</tr>';
}
}
mysqli_close($dbc);
?>
</table>
これが問題の場合の CSS は次のとおりです。
.gallery {
width: 525px;
}
.imgcontain {
padding-right:15px;
float: left;
width: 110px;
height: 110px
}
.caption {
font:bold 78% arial,helvetica,sans-serif;
text-align:center;
position: relative;
right: 10px;
color:#056063;
}