0

MySQL データベース レコードがあります: post_id int、post_title テキスト、post_date タイムスタンプ (デフォルト値 current_timestamp)

PHP を使用して、結果に空の日付ノードを含まない次の構造を持つサイト マップを生成するにはどうすればよいですか (投稿はデータベースのみからのものです)。

2010
- 2010 Jan
-- 2010 Jan 10
--- post-1
--- post-2
-- 2010 Jan 12
--- post-3
-- 2010 Jan 17
--- post-4
- 2010 Feb
-- 2010 Frb 05
--- post-5
2011
- 2011 Dec
-- 2011 Dec 02
--- post-6
--- post-7
-- 2011 Dec 21
--- post-8

4

1 に答える 1

1

最初に、データを選択して、構造内で印刷するのが便利になるようにする必要があります。次のようになります。

SELECT day(post_date) as day, month(post_date) as month, year(post_date) as year,
DATE_FORMAT(post_date,"%Y-%m-%d") as created_at, post_title,
post_id FROM posts ORDER BY created_at; 

次に、結果を繰り返し処理し、年、月、日をインデックスとして多次元インデックスを作成します。1 つのエントリは次のようになります。

$data[2013][10][31] = array("post1", "post2");

これで、サイトマップを簡単に印刷できます (foreach をいくつか作成するだけです)。

于 2013-03-21T14:35:30.120 に答える