将每个语句拆分为按字母顺序排列的两个div

时间:2012-04-26 13:19:16

标签: php zend-framework

我有这个代码按字母顺序回显数据库中的字段,并带有开头的字母表的标题。数据库中的信息不够宽,不足以适应页面的100%宽度,所以我想将信息分成两个独立的div并将它们并排浮动.. CSS很简单,但我不确定如何拆分他们。数据库中有50个项目,所以我希望第一个foreach语句在25处停止,然后从第二个div中停止的位置继续。

这是我的代码:

<?php
    $previousLetter = false;
?>
<?php foreach($this->clubs as $clubs) : ?>
    <?php
    $firstLetter = substr($clubs->club_name, 0, 1);
    if ($firstLetter != $previousLetter) {
    ?>
        <h3 id="club-link-header"><u><?php echo $firstLetter; ?></u></h3>
    <?php } ?>
        <a id="club-link" href="<?php echo $this->url(array('controller' => 'club-description', 'action' => 'index', 'club_id' => $clubs->id));?>"><br />
        <?php echo $this->escape($clubs->club_name);?></a>
    <?php $previousLetter = $firstLetter; ?>
<?php endforeach; ?>

由于

2 个答案:

答案 0 :(得分:1)

您可以尝试以下代码。我希望你能理解它。

<?php
    $previousLetter = false;
?>
<?php 
$i=1; // have a counter variable
foreach($this->clubs as $clubs) : ?>
    <?php
    $firstLetter = substr($clubs->club_name, 0, 1);
    if ($firstLetter != $previousLetter) {
    if($i==1){
        echo "<div class="left_class">"; // open left div
    }
    ?>
        <h3 id="club-link-header"><u><?php echo $firstLetter; ?></u></h3>
    <?php } ?>
        <a id="club-link" href="<?php echo $this->url(array('controller' => 'club-description', 'action' => 'index', 'club_id' => $clubs->id));?>"><br />
        <?php echo $this->escape($clubs->club_name);?></a>
    <?php $previousLetter = $firstLetter; ?>
<?php 
    if($i==25){
        echo "</div>"; //close left div
        echo "<div class="right_class">"; // open right div
    }

    if($i==50){
        echo "</div>"; //close right div
    }

$i++; // increment the counter variable for each loop
endforeach; 
?>

答案 1 :(得分:0)

你需要放入另一个div才能清除浮子。

<div style="clear:both;"></div>