SOとGoogleを検索しましたが、必要なものが見つかりません。
CodeIgniter 2を使用して単純なイベントカレンダーを 作成しています。CodeIgniterのドキュメントによると、これは基本的なコード構造であり、機能しています...
// $data[2] contains the data for day #2, etc.
$data[2] = '<a href="#">event title 1</a>';
$data[8] = '<a href="#">event title 2</a><br/><a href="#">event title 3</a>';
$data[13] = '<a href="#">event title</a>';
$data[24] = '<a href="#">event title</a>';
// {content} in template is where $data is inserted for each day
$prefs = array (
// my calendar options
'template' => '
{cal_cell_content}{day}<br/>{content}{/cal_cell_content}
{cal_cell_content_today}<div class="highlight">{day}<br/>{content}</div>{/cal_cell_content_today}'
);
$this->load->library('calendar', $prefs);
$year = ($year === FALSE ? date('Y') : $year);
$month = ($month === FALSE ? date('m') : $month);
echo $this->calendar->generate($year, $month, $data);
次に、データベーステーブルを設定する方法を説明します...
各イベントには
title
フィールドがあり、それがを作成し$slug
ます。(~/events/view/title-slug
)各イベントには
date
フィールドがあり、データ形式は次のとおりです。mm/dd/yyyy
$data[]
ここで、特定の月/年のデータベースにクエリを実行し、各変数に挿入するデータを抽出する方法を考えています。
次のことを行う必要があるようです。
month
データベーステーブルに、、、day
およびの新しい列を作成しますyear
。検証された後、
date
入力データを取得し、date
列に保存します。入力データを分割し、各部分を、、、および列
date
に保存します。month
day
year
year
次に、データベースに&を照会し、month
これらの結果をループして$data[]
、それぞれの配列を作成しますday
。
これは私がこの問題に取り組むべき正しい方法ですか?、、、および列date
だけでなくmonth
、列も持つことは非常に冗長なようです。()列だけで実行できますか?単純すぎます?複雑すぎますか?日付を入力するための複数のフィールドをユーザーに提供することは避けたいので、最終的には、適切なデータ形式を確保するのに役立つjQuery日付ピッカーを使用します。day
year
date
mm/dd/yyyy
これは単純な問題のように思えるかもしれませんが、簡単なコード例をオンラインで見つけることができませんでした。私が見つけたもののほとんどは古くなっている(CI2ではなくCI)か、私が行っていることには複雑すぎるか、すでに日付(~/events/view/yyyy/mm/dd
)を含むURIセグメントを持つ毎日のコンテンツアイテムを使用しています。
編集:
これが私のモデルが現在どのように設定されているかです:
return $this->db->get_where('events', array('yyyy' => $year, 'mm' => $month))->result_array();