按组分组

时间:2010-10-30 21:27:18

标签: php sql grouping

用完了想法......我需要将所有条目分组到数据库中。有字段ID,NAME,CLASS,CREATED。输出看起来像这样:

<h2>3. Class</h2>
<div class="cont">
 3rd class entries..
</div>

<h2>8. Class</h2>
<div class="cont">
 8th class entries..
</div>

... and more

因此,如果有第3类的条目,它们都会使用自己的标题<div>进入自己的<h3>。 8,9,10,545,5357等同样的事情。<h3>...</h3>中的数字来自表格,因此它们不是来自$i++之类的计数器。

如何实现?我希望你有我的想法。

1 个答案:

答案 0 :(得分:1)

这样的事情会起作用......

<?php      

  $rs = mysql_query('select id, name, class, created from mytable order by class ASC');
  while( $row = mysql_fetch_assoc($rs)) {
     $is_new_class = ( !isset($last_class_num) || ($row['class'] != $last_class_num) );
     if( $is_new_class && isset($last_class_num) ) {
       echo "</div>";
     }
     if( $is_new_class ) {
       echo "<h2>{$row['class']}. Class</h2>";
       echo "<div class=\"cont\">";
     }
     echo "NAME: {$row['name']}, <br/>";
     echo "CREATED: {$row['created']}";
     $last_class_num = $row['class'];
  }
  if( isset($last_class_num) {
    echo "</div>";
  }

[编辑:我最初误解了OP给出的例子,所以我已经更新了答案来解决这个问题。另外,在我的原始示例中修复了一些type-os。并清理语法,使其更具可读性。 (对不起,如果有任何混淆)]

相关问题