sql >> Database >  >> RDS >> Mysql

Geavanceerd nieuwsarchief Jaren/Maand met PHP MySql

U kunt GROUP BY niet gebruiken als u ook de namen van de afzonderlijke artikelen wilt. Haal gewoon de hele lijst op en groepeer deze vervolgens in een array op jaar en maand.

$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'];
}

Wanneer u de resulterende reeks herhaalt, kunt u de nieuwsitems voor elk jaar/maand tellen om het totaal te genereren.

<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. Hoe op te slaan, het totaalbedrag van de bestelling te verwerken in een schema voor bestellingen, bestellingenDetails?

  2. php mysql opeenvolgende rijen berekenen

  3. gegevens in de database invoegen met behulp van servlet en jsp in eclipse

  4. Databaseversiebeheer voor MySQL