sql >> データベース >  >> RDS >> Mysql

アーカイブループで年を1回だけ表示する

    最も簡単な方法は、これらの線に沿ったものだと思います:

    $entries = array();
    while ($row = mysql_fetch_assoc($sql)) {
      $entries[$row['get_year']][] = $row;
    }
    
    foreach($entries as $year => $months) {
      echo '<dl>';
      echo '<dt>Entries from &nbsp;'. $year . '</dt>';
    
      echo '<dd>';
      foreach($months as $month) {\
        $this_month = date( 'F', mktime(0, 0, 0, $row["get_month"]) );
    
        echo '<a href="archives.php?month='. $month['get_month'] .'">Entries from &nbsp;'. $this_month . '&nbsp;</a>(' . $month['entries'] . ')';
      }
      echo '</dd></dl>';
    
    
    }
    

    そのHTMLマークアップは理想的ではありませんが、アイデアを得る必要があります。



    1. SELECTクエリは各グループから1行を返します

    2. データベース内のレコードのグループに並べ替え順序を格納するための最も効率的な方法は何ですか?

    3. シリアル化されたデータによるmysqlの順序?

    4. 外部キー制約を無効にしても、テーブルを切り捨てることはできませんか? (SQL Server 2005)