группировка по классам по группам - PullRequest
1 голос
/ 31 октября 2010

Закончились идеи ... Мне нужно сгруппировать все записи в базе данных. Есть поля ID, ИМЯ, КЛАСС, СОЗДАН. Вывод будет выглядеть так:

<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 Ответ

1 голос
/ 31 октября 2010

Что-то вроде этого поможет ...

<?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>";
  }

[править: Я изначально неправильно понял пример, приведенный ОП, поэтому я обновил ответ, чтобы это исправить.Также исправлено несколько опечаток в моем исходном примере.И очищен синтаксис, чтобы сделать его более читабельным.(извините, если возникла путаница)]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...