Ay sonra yıl PHP / MySQL grup news / arşiv [kapalı]

0 Cevap php

Ben bir haber arşivi kenar çubuğu çıktılar bazı kod var. Her şey çok iyi dışında düzgün yıl ay bölünmüş olmadığı gerçeğinden çalışır. Aksine onun yıla ilgili ay atama yerine, tüm ay her yıl için gösterilen edilmektedir! Çok sinir bozucu! Herhangi bir yardım büyük mutluluk duyacağız.

$query = "SELECT * FROM isnews WHERE active = '1' ORDER BY YEAR(date) DESC, MONTH(date) DESC";
$resultSet = mysql_query($query);

if (mysql_num_rows($resultSet)){
    $newsArray = array();

    echo '<ul>' . PHP_EOL;
    echo '<li><strong>Press releases:</strong></li>' . PHP_EOL;                                            

    while ($newsResult = mysql_fetch_array($resultSet)){ 
        $newDate =  $newsResult['date'] ;   
        $timePeriod = date('F  Y ',strtotime($newDate));
        $timePeriodY = date('Y',strtotime($timePeriod));
        $timePeriodM = date('F',strtotime($timePeriod));                                          

        if (!isset($newsArray[$timePeriod])){
              $newsArray[$timePeriod] = array();
        }           
        $newsArray[$timePeriod][] = $newsResult;                                      
    }                                         

    //by year
    foreach ($newsArray as $timePeriod => $newsItems){
        $timePeriodY = date('Y',strtotime($timePeriod));
        echo '<li><strong>' . $timePeriodY . '</strong>' . PHP_EOL;  
        echo '<ul>' . PHP_EOL;

        //by month
        foreach ($newsArray as $timePeriod => $newsItems){
            echo '<li><strong>' . $timePeriod . '</strong>' . PHP_EOL;  
            echo '<ul>' . PHP_EOL;                                

            //news items
            foreach ($newsItems as $item){
                echo '<li>';
                echo '<a href="'.$wwwUrl.'press-releases/'.$item["id"].'/'.$item["title"].'.php">'.$item["title"].'</a>';
                echo '</li>' . PHP_EOL;
            }     

            //end by month
            echo '</ul>' . PHP_EOL; 
            echo '</li>' . PHP_EOL;                   
        }

        //end by year
        echo '</ul>' . PHP_EOL; 
        echo '</li>' . PHP_EOL;                   
    }

    echo '<li>&nbsp;</li>' . PHP_EOL;   
    echo '</ul>' . PHP_EOL; 
} else {
    echo 'We currently have no press releases available';
}

Many thanks in advance S

0 Cevap