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に保存します。monthdayyear
year次に、データベースに&を照会し、monthこれらの結果をループして$data[]、それぞれの配列を作成しますday。
これは私がこの問題に取り組むべき正しい方法ですか?、、、および列dateだけでなくmonth、列も持つことは非常に冗長なようです。()列だけで実行できますか?単純すぎます?複雑すぎますか?日付を入力するための複数のフィールドをユーザーに提供することは避けたいので、最終的には、適切なデータ形式を確保するのに役立つjQuery日付ピッカーを使用します。dayyeardatemm/dd/yyyy
これは単純な問題のように思えるかもしれませんが、簡単なコード例をオンラインで見つけることができませんでした。私が見つけたもののほとんどは古くなっている(CI2ではなくCI)か、私が行っていることには複雑すぎるか、すでに日付(~/events/view/yyyy/mm/dd)を含むURIセグメントを持つ毎日のコンテンツアイテムを使用しています。
編集:
これが私のモデルが現在どのように設定されているかです:
return $this->db->get_where('events', array('yyyy' => $year, 'mm' => $month))->result_array();