2016-11-05 30 views
1

請幫助我我真的有一個很大的問題。我想在各自的發佈日期下顯示帖子(文章)。如何根據發佈日期顯示數據類似於使用PHP的時間軸MYSQL

例如,

NOVEMBER 05 
* Post 1 
* Post 2 
* Post 3 

NOVEMBER 04 
* Post 1 
* Post 2 

我寫了一個PHP代碼,但它的重複日期和值的兩倍,如:

NOVEMBER 05 
* Post 1 
* Post 2 
* Post 3 
NOVEMBER 05 
* Post 1 
* Post 2 
* Post 3 

NOVEMBER 04 
* Post 1 
* Post 2 

NOVEMBER 04 
* Post 1 
* Post 2 

請幫幫我!

這裏是我的代碼:

 <?php 
    include("db.php"); 
    include("function.php"); 
    $result=mysqli_query($con,"select distinct post_submitted_on from posts order by id desc"); 
    while($row=mysqli_fetch_array($result)){ 
    $datetime=$row['post_submitted_on']; //2016-11-05 23:10:45 
    $date=date("d",strtotime($datetime)); //05 
    $month=date("F",strtotime($datetime)); //November 
    $final_date=date("Y-m-d",strtotime($datetime)); //2016-11-05 
    ?> 
     <h4 class="date"> 
     <i style="vertical-align: baseline;" class="fa fa-calendar-o date"></i> <B class="date">TODAY, <?php echo strtoupper($month);?> <?php echo ordinal("$date");?></B> <!-- prints TODAY, NOVEMBER 05 --> 
     </h4> 
     <?php 
     $sql=mysqli_query($con,"select distinct * from posts where post_date='$final_date' order by id desc"); //selecting all posts based on the current date and load all past entries based on past date 
     while($r=mysqli_fetch_array($sql)){ 
     ?> 
     <table width="100%" class="hidden-sm hidden-xs"> 
     <tr> 
      <td> 
      <?php echo $r['title'];?> 
      <?php echo $r['url'];?> 
      </td> 
     </tr> 
     </table> 
    <?php } ?> 
    <?php } ?> 
+0

添加GROUP BY。 –

+0

@ Fred-ii-謝謝你:)你的建議奏效! – dragonball

+0

我在下面發佈了一個社區維基答案,您可以標記爲已解決。 –

回答

0

我就張貼此作爲一個社區維基因爲它是由自己在評論中提到,併成爲解決這一問題。

  • GROUP BY col添加到您的查詢中,因爲使用DISTINCT並不總是能夠完成這項工作。

上棧,請參考以下Q &關於這種類型的行爲:

相關問題