我对此有点新手,我需要一些更专业的帮助。问题是,我正在尝试使用this pure css easy slider,但该示例似乎与静态图像一起使用。
在我的情况下,我使用php动态显示图像,所以我需要使用某种循环(我用它)来自动生成这些标签的id
我想要做的是在示例中使用相同的东西,但使用单独的ID:
<img id="img-1" src="img.jpg" alt>
<img id="img-2" src="img.jpg" alt>
<img id="img-3" src="img.jpg" alt>
<img id="img-4" src="img.jpg" alt>
<img id="img-5" src="img.jpg" alt>
所以我正在尝试使用此代码:
<?php
$categories = $conexion->query("SELECT COUNT(id) AS total,id,icon,name,image FROM categories ORDER BY id LIMIT 8");
while($row = $categories->fetch_array()) {
$id = $row['id'];
$image = $row['image'];
$name = $row['name'];
$total = $row['total'];
echo '<div id="slider">';
for($i = 0; $i <= $total; $i++) {
echo '<figure>
<img class="ns-img" id="img-'.$i.'" src="'.$image.'">
</figure>';
}
echo '</div>';
}
$categories->close();
?>
但似乎它无法正常工作,因为它只是一遍又一遍地向我显示相同的第一张图像,并且当动态显示这些图像时,css结构刚刚破坏:C我该怎么办?
答案 0 :(得分:0)
正确您有一个while
循环,不需要for
循环
同样,您在问题中分享的示例中,您只需要1 <div id="slider">
和<figure>
。所以你需要将它们从循环中移出
您的最终代码应如下所示:
<?php
$categories = $conexion->query("SELECT COUNT(id) AS total,id,icon,name,image FROM categories ORDER BY id LIMIT 8");
$i = 1;
echo '<div id="slider"><figure>';
while($row = $categories->fetch_array()) {
$id = $row['id'];
$image = $row['image'];
$name = $row['name'];
$total = $row['total'];
echo '<img class="ns-img" id="img-'.$i.'" src="'.$image.'">';
$i++;
}
echo '</figure></div>';
$categories->close();
?>