Nivo滑块+ php

时间:2014-02-16 09:10:53

标签: php jquery nivo-slider

我为一个网站创建了一个自定义cms,并尝试让nivo滑块与我的数据库一起工作,但我的while循环问题。 我只将图像的名称存储在数据库中,图像本身存储在文件夹中,图像有些工作,但它们出现在另一个上面,实际的幻灯片显示已被破坏。

我的猜测是标题ID正在破坏它但不确定如何离开这里。任何帮助表示赞赏

这是我的代码:

<div id='slider' class='nivoSlider'>
<?php 
$sql = 'SELECT * FROM slider';
$result = $db->query($sql) or die(mysqli_error());

 while($row = $result->fetch_assoc()){
    $slideshow = $row['slider_id']; 
    print"
        <img src='images/slider/".$row['image'].".jpg' alt='' title='#htmlcaption'>
        </div>
        <div id='htmlcaption' class='nivo-html-caption '>
        <span>".$row['title'] . "</span>    
        </div> ";
}

?>
<div id='preloader'></div>
</div>

1 个答案:

答案 0 :(得分:1)

while($row = $result->fetch_assoc()){
$slideshow = $row['slider_id']; 
print"
    <img src='images/slider/".$row['image'].".jpg' alt='' title'#htmlcaption'>
    </div> // ---------------> Here you are closing div slider
    <div id='htmlcaption' class='nivo-html-caption '>// ----> Error
    <span>".$row['title'] . "</span>    
    </div> ";

}

在while循环中,您关闭</div>而不打开它,这会导致幻灯片放映。在HTML语法中,ID必须是唯一的。所以<div id='htmlcaption' class='nivo-html-caption '>所以改变这一部分。

<强> [更新] 将打印更改为

 print" <div class='some_wraper'>
        <img src='images/slider/".$row['image'].".jpg' alt='' title='#htmlcaption'>
        </div> // ---------------> Here now you are closing div some_wraper
        <div class='nivo-html-caption htmlcaption'>// ----> added new class htmlcaption
        <span>".$row['title'] . "</span>    
        </div> ";

<强>更新 固定代码

 <div id='slider' class='nivoSlider'>
    <?php 

    $sql = 'SELECT * FROM slider';
    $result = $db->query($sql) or die(mysqli_error());

     for($i = 0;$row = $result->fetch_assoc();$i++){
        $slideshow = $row['slider_id']; 
        echo "<img src='images/slider/".$row['image'].".jpg' alt='' title='htmlcaption_$i'>";                
        $tiles[$i]=$row['title'];        
    }

    ?>
    </div>        
   <?php //caption divs for slider
      for($i=0;$i<count($tiles);$i++) {
        echo "<div id='htmlcaption_$i' class='nivo-html-caption '>";      
            echo "<span>".$tiles[$i]."</span> </div>";
        }   
    ?>        
    <div id='preloader'></div>
    </div>