如何显示动态ID

时间:2017-01-26 13:08:28

标签: php html css slider

我对此有点新手,我需要一些更专业的帮助。问题是,我正在尝试使用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我该怎么办?

1 个答案:

答案 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();
?>