У меня есть календарь, который мне нужно заполнить данными, взятыми из базы данных MySQL.
Ответом на запрос будет массив строк, ссылающихся на несколько дат в месяце. Я должен получить данные каждой строки в том, что соответствует ее дате. Информация о дате хранится как «datetime» в MySQL.
Здесь сгенерированы элементы календаря, в которых будут храниться данные:
for ($day = 1; $day <= $totaldays; $day++) {
$day_secs = mktime(0,0,0,$month,$day,$year);
if ($day_secs >= $yesterday) {
if ($day_highlight && ($day == $this_day)) {
print "<td class=\"today\"><span>$day</span><a href=\"CPD_activity_cal_new.php?day=$day&month=$month&year=$year\" class=\"actilink\">Add Activity</a>
</td>";
} else {
print "<td class=\"monthday\"><span>$day</span><a href=\"CPD_activity_cal_new.php?day=$day&month=$month&year=$year\" class=\"actilink\">Add Activity</a></td>";
}
} else {
print "<td class=\"monthday\"><span>$day</span><a href=\"CPD_activity_cal_new.php?day=$day&month=$month&year=$year\" class=\"actilink\">Add Activity</a></td>";
}
$day_offset++;
// start a new row each week //
if ($day_offset == 7) {
$day_offset = 0;
if ($day < $totaldays) { print "</tr>\n<tr>"; }
}
}
У меня есть три основные головные боли здесь:
- можно ли использовать вывод из
mysql_fetch_array как есть - в других
слова, я могу бежать определенным образом
через массив в одной ячейке, и
затем перезапустите цикл на
исправить точку через несколько ячеек - или
я должен разделить его на отдельные массивы
на каждую дату (большинство дат в любом
месяц обычно будет пустым) - и
если да, то как?
- где в коде, который генерирует
дневные клетки делают мой код для этого
принадлежат? Я особенно запутался
в этом отношении отдельным
петли на сегодня, до сегодняшнего дня, и
после сегодня
- какая форма цикла будет лучшей:
Я предполагал, пока (), но я
не смог сделать это
работа (неудивительно, учитывая путаницу выше!).
Буду очень признателен за любые советы по этому вопросу.