检查PHP中的最后一条记录

时间:2010-10-31 21:33:46

标签: php

如何实现下面我不希望在最后结果上显示的部分?

<?php foreach ($products->result() as $row): ?>
    <h3><?= $row->header; ?></h3>
    <p><?= $row->teaser; ?> </p>
    <a href="">Read More</a>    
    <!-- DONT DISPLAY THIS LAST LINE IF ITS THE LAST RECORD -->
    <div class="divider"></div>   
 <?php endforeach; ?>

由于

3 个答案:

答案 0 :(得分:5)

也许是这样的?

<?php $firstline=true; foreach ($products->result() as $row): ?>
    <?php if ($firstline) {
        $firstline=false;
    } else {
        echo '<div class="divider"></div>';
    }?>
    <h3><?= $row->header; ?></h3>
    <p><?= $row->teaser; ?> </p>
    <a href="">Read More</a>
<?php endforeach; ?>

答案 1 :(得分:0)

<?php foreach ($products->result() as $row): ?>
    <h3><?= $row->header; ?></h3>
    <p><?= $row->teaser; ?> </p>
    <a href="">Read More</a>    

    <?php if($row!=end($products->result())
    <!-- DONT DISPLAY THIS LAST LINE IF ITS THE LAST RECORD -->
    <div class="divider"></div> 
    <?php } ?>  

 <?php endforeach; ?>

应该这样做

答案 2 :(得分:0)

另一种方法:

<?php $results = $products->result();
      $count = count($results);
      $current = 0;
      foreach ($results as $row): ?>

    <h3><?= $row->header; ?></h3>
    <p><?= $row->teaser; ?> </p>
    <a href="">Read More</a>

    <?php if (++$current < $count): ?>
        <div class="divider"></div>   
    <?php endif; ?>

<?php endforeach; ?>

从技术上讲,分隔符之类的东西应该用CSS完成,使用:first-child:last-child伪类。但IE不支持它:(