私は、各イベントの日、開始時刻および終了時刻を持つMySQLテーブルのデータを使用して時刻表を作成しようとしています。時刻表の作成に問題があります
現時点で私のロジックはこういうのです。
月曜日 の配列に入れ月曜日を持つすべてのイベントは、火曜日
など
のために、アレイに入れ火曜日を持つすべてのイベントは、その後、私は行くために、各アレイ上の各ループのために実行探します(9-5)、それが現在のイベントと一致する場合は、表のセルを作成し、空でないセルを作成し、最後にイベントの持続時間が1スロットより長い場合は、何も入れません。ここでは上記のための私のコードは次のとおりです。
function createTableEvent($day,$previousfinish)
{
$completeDay = '';
$day = explode(',',$day);
$ev = $day[0];
$start = $day[1];
$end = $day[2];
$event = "<div class=\"table_event\">$ev<br>Starts:$start<br>Ends:$end<br></div>";
$times= array('09','10','11','12','13','14','15','16','17');
//TIMES
foreach ($times as $time)
{
if($start == $time.":00" && $previousfinish == !)
{
$completeDay .= "<td class=\"$time\" colspan=\"$end\">
<div class=\"table_event\">$event</div></td>";
$previousfinish = $end;
}
else if($previousfinish > 1
{
}
else
{
$completeDay .= "<td class=\"$time\" colspan=\"1\"></td>";
}
}
return $completeDay;
}
イベントが複数のブロック上で実行されている場合、私は期間中に列スパンを設定するので、それが1以上であれば、私は、セルをスキップしたい理由がありますイベントは、前のイベントが1つのブロックよりも長い場合、次の時間にセルを入れるべきではありません。
私の出力は1時間のイベントでは機能しますが、1日に1,2時間のイベントと2時間の1時間のイベントがあるとは出力されません。私のコードでは、まだ空でなければならない時間の余分なセルが作成されます。
任意の入力やヘルプは非常に有用であろう