Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Arsip berita lanjutan Tahun/Bulan menggunakan PHP MySql

Anda tidak dapat menggunakan GROUP BY jika Anda juga menginginkan nama masing-masing artikel. Cukup ambil seluruh daftar lalu kelompokkan ke dalam larik berdasarkan tahun dan bulan.

$sql = "SELECT timestamp, your_id_column, your_title_column FROM `NEWS` ORDER BY timestamp DESC";

$newsdata = DataAccess::ArrayFetch($sql);

$nav = array();

foreach ( $newsdata as $news ) {
    $year = date('Y', $news['timestamp']);
    $month = date('F', $news['timestamp']);
    $nav[$year][$month][$news['your_id_column']] = $news['your_title_column'];
}

Saat Anda mengulangi larik yang dihasilkan, Anda dapat menghitung item berita untuk setiap tahun/bulan untuk menghasilkan total.

<ul>
    <?php
    foreach ( $nav as $k => $v ) {
        ?>
        <li><?php echo $k ?>
            <ul>
            <?php
            foreach ( $v as $k2 => $v2 ) {
                ?>
                <li><?php echo $k2.' ('.sizeof($v2).')' ?>
                    <ul>
                        <?php
                        foreach ( $v2 as $k3 => $v3 ) {
                            ?>
                            <li><?php echo $v3 ?></li>
                            <?php   
                        }
                        ?>
                    </ul>
                </li>
                <?php
            }
            ?>
            </ul>
        </li>
        <?php
    }
    ?>
</ul>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hapus sangat lambat di basis mysql dengan subquery

  2. cara memangkas angka nol di depan dari teks alfanumerik di fungsi mysql

  3. MySQL - Pesan kueri dan tampilkan satu baris acak di atas

  4. Kueri SQL berfungsi di phpmyadmin tetapi tidak di php

  5. Dapatkan ID kunci utama rekaman baru dari kueri penyisipan MySQL?