簡體   English   中英

PHP / MYSQL年月表,用於新聞存檔

[英]PHP/MYSQL Year Month table for news archive

我正在為我的站點創建新聞檔案,並希望從以下數據庫表中創建概述頁面:

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

該網站上的新聞是最新的,但我希望在接下來的幾個月和幾年中增加一些過去幾年的數據。

我想要做的是為每年創建一個新行,並突出顯示與數據庫表中的記錄對應的月份,類似於下面的記錄。

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

任何幫助或建議,將不勝感激

堅持使用現有的表格布局,然后在概述頁面中選擇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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM