PHP/MySQL的年月表新闻档案

问题描述:

我创造了我的网站新闻档案,并希望建立从以下数据表的概述页面:PHP/MySQL的年月表新闻档案

id - Unique identifier 
newsDate - in a format XXXX-XX-XX 
title - News Item title 
details - News item 
photo - News Item Photo 
caption - News Item Photo caption 
update - Timestamp for record 

网站上的消息是电流,但我希望能够在未来几个月和几年里添加一些数据。

我想要做的是为每年创建一个新行,并突出显示与DB表中的记录对应的月份,类似于下面的内容。

2002 JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 
2004 JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 
2005 JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 
2008 JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 

任何帮助或建议,将不胜感激

+0

像他们的普通新闻报道是为什么不将它们导入产生的? – Kevin 2010-03-19 23:05:08

棒与你有表格的布局,然后概述中选择newsDate的年份和月份和组由(可能与计数,如果你想要显示每月有多少篇文章),然后遍历它为您的线条。应该还算基本做到

测试完整的例子

CSS

#Decor 
{ 
    width:200px; 
} 

#Decor, #Decor ul { 
    list-style-type: none; 
    margin-left:25px; 
    margin-bottom:5px; 
    padding-left:20px; 
    cursor:pointer; 
} 

.handle { 
    background: transparent url(/images/tree-handle.png) no-repeat left top; 
    display:block; 
    float:left; 
    width:10px; 
    height:10px; 
    cursor:pointer; 
} 

.closed { background-position: left top; } 
.opened { background-position: left -10px; } 

PHP文件

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <link href="CSS/treeview.css" rel="stylesheet" /> 
    <script src="scripts/jquery-1.11.1.min.js"></script> 
    <script> 
     $(function() { 
      //start the tree in an autocollapsed state 
      $('#Decor ul').hide(400); 

      $('#Decor li').on('click', function (e) { 
       e.stopPropagation(); // prevent links from toggling the nodes 
       $(this).children('ul').slideToggle(); 
      }); 

      // This code opens all hyperlinks in a new window 
      // and avoids anchors 
      $('#Decor a').not('[href="#"]').attr('target', '_blank'); 
     }); 
    </script> 
</head> 

<?php 
define("DB_USER",""); 
define("DB_PASS",""); 
define("DB_HOST",""); 
define("DB_NAME",""); 

$link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME) or die(mysqli_errno()); 
$s="SELECT *,content_id,COUNT(content_id) AS itemCount FROM content_mast GROUP BY DATE_FORMAT(date_upload,'%Y') DESC"; 
$sql_result=mysqli_query($link,$s); 
?> 
<ul id="Decor"> 
<?php 
while($row=mysqli_fetch_array($sql_result)) 
    { 
    $datetime=strtotime($row['date_upload']); 
    $tday = date("Y", $datetime); 
    $count = $row['itemCount']; 
    ?> 
    <li class="level1"><?php echo "<u><strong>{$tday} ({$count})</strong></u><br>"; ?> 
    <?php 
     $s1="select * from content_mast where DATE_FORMAT(date_upload,'%Y')=$tday"; 
     $q=mysqli_query($link,$s1); 
     while($month=mysqli_fetch_row($q)) 
     { 
     ?> 
      <ul> 
       <li><a href="test.php?date=<?php echo $month[5]; ?>"><?php echo date("F",strtotime($month[5])); ?></a></li> 
      </ul> 
      <?php 
     } 
    echo "<br>"; 
    } 
?> 
</ul> 
</html>