誰かが次のことを手伝ってくれるかどうか疑問に思っています。基本的に、ユーザーが開始日と終了日、開始時刻と終了時刻を選択できるフォームがあります。
ユーザーは時間ブロックを追加できるため、必要な情報を選択して投稿すると、ページが返されます。これは、完了ボタンでフォームを処理するまで発生します。
私が直面している問題は、配列に各投稿を追加するために配列が必要であることです。次のコードがあります。
if($this->input->post('submit', TRUE) == 'more')
{
$start_date = $this->input->post('start_date', TRUE);
$start_time = $this->input->post('start_time', TRUE);
$end_time = $this->input->post('end_time', TRUE);
$start_dates['start_date'] = $start_date;
$start_dates['start_time'] = $start_time;
$start_dates['end_time'] = $end_time;
if(isset($this->session->userdata['start_dates']) )
{
$merged = array_merge_recursive($start_dates, $this->session->userdata['start_dates']);
}
else
{
$merged = null;
$this->session->set_userdata('start_dates', $start_dates);
}
問題は、新しい時間ブロックを追加するたびに、配列内の項目の 1 つが上書きされることです。
配列の期待される出力は次のとおりです。
Array
(
[start_date] => Array
(
[0] => 2012-08-31
[1] => 2012-08-29
)
[start_time] => Array
(
[0] => 08:00
[1] => 09:00
)
[end_time] => Array
(
[0] => 12:00
[1] => 17:00
)
)
この場合、配列キー [1] は常に上書きされます。時間ブロックを 2 つだけ追加する場合、これは問題になりません。ただし、ユーザーは 2 つ以上のブロックを追加できる必要があります。合計制限は、ユーザーが設定した制限までです。後で指定します。
誰かがロジックを整理するのを手伝ってくれますか?
前もって感謝します。
マーク