0

接受更新
的答案

我有一个数据库,其中条目(项目)可以按日期分类。

例如

在此处输入图像描述 ...等等

使用 PHP 我想根据它们各自的日期显示项目并将日期作为它们的标题。具有相同日期的所有项目应在相同的标题(日期)下。

例如输出:

在此处输入图像描述 ...等等

我对 PHP 并不完全陌生,所以我不介意高级方法。我也有一些 Javascript 方面的经验。

我已经能够使用mysql_query语句根据日期显示所有项目,但一次只能显示一个日期

我想一次显示所有项目,但以时间线的形式显示,如上所示,多个项目根据它们的日期在同一标题下。

4

3 回答 3

1

试试下面更新的代码

$sql = <<<SQL
SELECT *
FROM tablename
SQL;

if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){

$date = $row['Date_Added'];
    $sql = <<<SQL
    SELECT *
    FROM tablename
    WHERE `Date_Added` == '$date'
    SQL;

    if(!$result = $db->query($sql)){
        die('There was an error running the query [' . $db->error . ']');
    }
    echo "<h1>$date</h1>";
    while($row = $result->fetch_assoc()){

    $type = $row['Item_name'];
    echo "<li>$type</li>";
    }

}
于 2013-09-20T10:48:10.437 回答
1
  1. 获取日期列表 (by select distinct)

  2. 对于列表中的每个日期

    一个。通过select item from items where Date_added = $date

    湾。显示日期和项目

于 2013-09-20T10:50:46.610 回答
0

这是我的Vishnu代码版本:

使用 PHP 和 MYSQL

// first, select all the different dates
////////////////////////////////////////

$query = mysql_query( "SELECT DISTINCT Date_added FROM table_name" );
// now fetch the results from the mysql query (above)
while( $row = mysql_fetch_array($query) ){
    // put the dates into a variable i.e. $date
    $date = $row['Date_added'];
    // now one can format the date to output like: "September 20th '13"
    $date_string = date('F js \'y', strtotime('' .$date. ''));
    // display the formatted date
    echo "<h2>" .$date_string. "</h2>";

有关日期操作的更多信息

// Second, query the database for all items pertaining to each date (no foreach
// statement required)
///////////////////////////////////////////////////////////////////////////////

    $cmd = mysql_query( "SELECT * FROM table_name WHERE Date_added='$date'" );
    // now fetch the results from the mysql query (above)
    while( $row = mysql_fetch_array($cmd) ){
        // put the items into a variable i.e. $item
        $item = $row['Item_name'];

        // display the results
        // note: one can also create a variable and echo that instead
        echo "<p>" .$item. "</p><br/>";

    }
}

// This code can be used to display anything by any category, not just by date

通过使用 CSS 可以使标签看起来很酷,希望你喜欢时间线。
如果您希望将日期导航应用程序的 PHP 代码添加到此,请投票。

对已弃用的代码表示歉意,将很快更新

于 2013-09-23T15:29:41.837 回答