php和mysql中的组存档

时间:2016-09-29 10:17:00

标签: php mysql foreach

我想创建一个这样的存档列表:

  • 2016
    • 2016年7月
      • 测试5/16
      • 测试4/16
      • 测试3 of 16
      • 测试2/16
    • 2016年2月
      • 测试1 of 16
  • 2015
    • 2015年11月
      • 测试1 of 15

但它显示如下:

  • 2016
    • 2016年7月
      • 测试5/16
      • 测试4/16
      • 测试3 of 16
      • 测试2/16
    • 2016年2月
      • 测试1 of 16
    • 2015年11月
      • 测试1 of 15
  • 2016
    • 2016年7月
      • 测试5/16
      • 测试4/16
      • 测试3 of 16
      • 测试2/16
    • 2016年2月
      • 测试1 of 16
    • 2015年11月
      • 测试1 of 15
  • 2015
    • 2016年7月
      • 测试5/16
      • 测试4/16
      • 测试3 of 16
      • 测试2/16
    • 2016年2月
      • 测试1 of 16
    • 2015年11月
      • 测试1 of 15

这是我的源代码:

$query = "SELECT * FROM blogs ORDER BY date DESC";
$resultSet = mysql_query($query);

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

echo '<ul>' . 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["titlename"].'.php">'.$item["titlename"].'</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 'No Blog Found';
}

请帮助我,并提前致谢。

1 个答案:

答案 0 :(得分:0)

你&#34;分组&#34; by&#34; F Y&#34;当你应该&#34;分组&#34; by&#34; Y&#34;然后&#34; F Y&#34;

例如:

df.assign(ln(A) = lambda x: np.log(x.A))
df.assign("ln(A)" = lambda x: np.log(x.A))


File "<ipython-input-7-de0da86dce68>", line 1
df.assign(ln(A) = lambda x: np.log(x.A))
SyntaxError: keyword can't be an expression

应该像

$newsArray[$timePeriod][] =  $newsResult;

您的代码将变为:

$newsArray[$timePeriodY][timePeriod][]=  $newsResult;
相关问题