2012-04-23 42 views
-1

我现在有这个代码来回显我所有的数据库条目,我想知道它在ZF中看起来像在数据库条目的第一个值是a时回显出条目。ZendFramework echo db values if first string = a?

代码:

<table> 
    <?php foreach($this->clubs as $clubs) : ?> 
    <tr> 
     <td><a href="<?php echo $this->url(array('controller' => 'club-description', 'action' => 'index', 'club_id' => $clubs->id));?>"> 
     <?php echo $this->escape($clubs->club_name);?></a></td> 
     <td><?php echo $this->escape($clubs->rating);?></td> 
    </tr> 
    <?php endforeach; ?> 
</table> 

感谢

里克

+0

所以你只是想显示其名称以“A”开头的俱乐部?就好像这样,这是你在数据库查询中要做的事情,而不是加载所有数据然后过滤它。 – 2012-04-23 14:37:55

+0

我最终会让他们都有我想过滤它们的原因是我想让所有的项目都以“a”开头,然后是“b”和“c”等等。所以你会看到最终我会列出所有物品.. – Rik89 2012-04-23 14:48:52

回答

0

因此,基于您的评论听起来好像你在网页上的字母要组的俱乐部。假设他们在数据库查询中按字母顺序排列,最简单的方法是保存一个变量,该变量存储循环中最后一个俱乐部的第一个字母。然后,在每次迭代中,将当前俱乐部的第一个字母与上一个俱乐部的第一个字母进行比较。如果他们不同,你输出一个新的标题。

与您的代码,这将是这个样子:

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

完美!谢谢,接下来的任务是格式化HTML,使其不在表格中:D感谢您的帮助! – Rik89 2012-04-23 15:05:53