MySQL
データベースがあり、多くのイベント(コンサートなど)を含むテーブルがあります。テーブルの構造は非常に単純です:PHP MySQLは日付を取得し、毎月JSONにデータを分割します
January
- event blabla 10/01/17
- event thisandthat 17/01/17
February
- event something 05/02/17
- event another something 13/02/17
...etc etc
:
id (int, 11, pk , ai)
event_name (varchar, 255)
event_location (varchar, 255)
event_date (date)
さて、フロントエンドの表示目的のために、私は次のように、「月の概要」のいくつかの種類のイベントを表示したいと思いますだから私はこれを達成する方法を考えていた。別のテーブルを作成して、任意の月にIDを与え、イベントテーブルに「month_id」フィールドを追加する必要がありますか?
json_encode
としたいので、最後にすべてのデータを持つオブジェクトでJSON
配列を作成します。
提案がありますか?またはそれ以上:どのような例ですか?
** UPDATE **
マイ所望の結果は次のようなものになります。そして、event_monthは(最初のループ)nullの場合、比較結果をforeachループに入る
[{
"January": [{
"event_name": "blabla",
"event_location" : "somewhere",
"event_date": "2017-01-10"
},
{
"event_name": "blabla",
"event_location" : "somewhere",
"event_date": "2017-01-17"
}
]
},
{
"February": [{
"event_name": "blabla",
"event_location" : "somewhere",
"event_date": "2017-02-10"
},
{
"event_name": "blabla",
"event_location" : "somewhere",
"event_date": "2017-02-17"
}
]
},
{
"March": [{
"event_name": "blabla",
"event_location" : "somewhere",
"event_date": "2017-03-10"
},
{
"event_name": "blabla",
"event_location" : "somewhere",
"event_date": "2017-03-17"
}
]
}
]
あなたはEVENT_DATE、ORDER BYことができますが、推奨される 'YYYY-MM-DD'フォーマットを、必要があるでしょう。 – AbraCadaver
これを実行する方法は数多くあります。日付順に並べ替えることをお勧めします。その結果をストリーミングするときは、その月を指定してJSONを作成する構造で使用します(月単位)。 – hakre