2010-03-19 14 views
1

Je crée une archive de nouvelles pour mon site et que vous souhaitez créer une page d'aperçu de la table DB suivant:PHP/MYSQL Année tableau Mois des nouvelles archives

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 

Les nouvelles sur le site est en cours, mais je espérons ajouter quelques données des années passées au cours des mois et des années à venir. Ce que je veux faire est de créer une nouvelle ligne pour chaque année et mettre en évidence le mois qui correspond à un enregistrement dans la table DB, semblable à celui ci-dessous.

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 

Toute aide ou des conseils seraient appréciés

+0

Pourquoi ne pas les importer comme ils étaient régulièrement des articles de presse étant créé? – Kevin

Répondre

0

Stick avec la mise en page de table que vous avez, puis pour la page d'aperçu sélectionnez Newsdate en année et le mois et le groupe par qui (peut-être avec le comte si vous voulez montrer combien d'articles il y a dans chaque mois), puis parcourez-le pour vous les lignes. Devrait être assez basique pour faire

0

test complet Exemple

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 Fichier

<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> 
Questions connexes