函数输出增量值并以html格式显示

时间:2014-05-23 08:29:26

标签: php mysql increment

我想创建一个幻灯片放映及其数据存储在MySQL数据库中。

// SlideShow ----------------------------------------------
mysql_select_db($db,$con);
$qry5 = "SELECT * FROM tblSlider";
$slider_data = mysql_query($qry5,$con);
$rowCount = mysql_num_rows($slider_data);

然后我尝试创建一个函数......

function getSlideData(){
   $slideNo = 0;
   global $rowCount;
   if($rowCount == 1 ){
       $slideNo = 0;
   }
   else {
       $slideNo += 1;
   }
   return $slideNo;
  }

现在我尝试在html代码中显示它

    <ol class="carousel-indicators">
      <?php while ($slideShow = mysql_fetch_array($slider_data)){?>
      <li data-target="#main-slider" data-slide-to="<?php getSlideData();?>" class="<?php if ($slideShow['id'] = 1){echo 'active';};?>"></li>
      <?php } ?>
    </ol>

我的mysql表中有两个幻灯片放映数据,上面的代码输出应为

<li data-target="#main-slider" data-slide-to="0" class="active"></li>
<li data-target="#main-slider" data-slide-to="1" class=""></li>

但我的代码输出是

<li data-target="#main-slider" data-slide-to="" class="active"></li>
<li data-target="#main-slider" data-slide-to="" class="active"></li>

我该怎么办?

2 个答案:

答案 0 :(得分:1)

你可以实现这一目标而不会产生如此多的复杂性试试这个

<ol class="carousel-indicators">
  <?php 
    $cnt = 0;
    while ($slideShow = mysql_fetch_array($slider_data))
    {
        $cnt+=1;
    ?>
        <li data-target="#main-slider" data-slide-to="<?php echo ($cnt-1); ?>" class="<?php if ($cnt == 1){echo 'active';}?>"></li>
  <?php 
  } 
  ?>
</ol>

答案 1 :(得分:0)

首先出现问题,你不要将返回值回显到属性中:

data-slide-to="<?php echo getSlideData();?>"
                     ^^^^ this is required

第二个问题出在你的if语句中,你正在做一个作业(=)而不是比较(==)。所以改为:

<?php if ($slideShow['id'] == 1){echo 'active';};?>
                           ^^ double ==