如何获取MySQL的最新记录日期?

时间:2013-12-10 08:07:59

标签: php

这是我的MySQL表:

p_id    product_name          description           added_date
-----------------------------------------------------------------------
1       headphone               headphone         2012-06-23 10:20:11
2       cdplayer                cdplayer          2012-06-23 12:03:51
3       computerbag            computerbag        2012-06-23 04:10:38
4       lcd                       lcd             2012-06-23 08:40:15
5       monitor                  monitor          2012-06-10 05:11:55
6       mouse                     mouse           2012-06-10 09:12:45
7       lasermouse              lasermouse        2012-06-10 11:54:12
8       keyboard                 keyboard         2012-05-28 07:18:21
9       camera                    camera          2012-05-28 10:20:11
10      charger                   charger         2012-05-28 10:55:33

我希望我的结果看起来像:

23 Jun

  • 耳机
  • CD播放器
  • computerbag
  • LCD

10月10日

  • 显示器
  • 小鼠
  • lasermouse

5月28日

  • 键盘
  • 相机
  • 充电器

3 个答案:

答案 0 :(得分:0)

首先,您需要使用类似的mysql语句检索所有表值。为结果分配变量名称。

SELECT * FROM table 

因此,如果我们说$results是包含所有表值等的变量,那么

然后使用PHP。您可以遍历所有结果

foreach($results as $result)
{
  $date =  date('d F', strtotime($result['added_date']));
  $products[$date][] = $result['product_name'];
}

现在我们已经按日期分组了所有产品名称,我们需要再循环一次。

 foreach($products as $key=>$product)
 {
    echo $key;
    echo '<ul>';
    foreach($product as $productName)
    {
      echo '<li>' . $productName . '</li>';
    }
    echo '</ul>';
 }

这是我给你提供的最佳答案,如果你做出改变,那么我一定会改进这个。但这是需要做的基本原则。

答案 1 :(得分:0)

这不完全是您想要的格式。您必须更改格式,例如使用<ul><li>标记。

<?php
$con = mysqli_connect... //Database connection
$result = mysqli_query($con, "SELECT product_name,DATE(added_date) AS only_date FROM YOURTABLENAME ORDER BY DATE(added_date) DESC,p_id ASC");

$currentDate = "";
while($data = mysqli_fetch_object($result)) {
    if($currentDate != $data->only_date) {
        echo $data->only_date."<br>"; //You have to format this, now it's YYYY-MM-DD
        $currentDate = $data->only_date;
    }
    echo $data->product_name."<br>";
}  
?>

答案 2 :(得分:-2)

$result = mysql_query("SELECT * FROM `test` group by `added_date` order by p_id");

$current_date="";
$i=0;
while ($row = mysql_fetch_array($result))
{
$row_date=explode(" ",$row['added_date']);
if($current_date!=$row_date[0])
{
    if($i!=0){echo"</ul>".date("jS F", strtotime("$row_date[0]"))."<ul>";}
    //$new_date=explode(" ",$row['added_date']);
    $current_date=$row_date[0];
    if($i==0)
    {
    $i++;
    echo "<ul>".date("jS F", strtotime("$row_date[0]"));
    }

    echo "<li>".$row['product_name']."</li>";
}
else
{
    echo "<li>".$row['product_name']."</li>";

}
}