MySQL 데이터베이스에서 가져온 데이터로 채울 달력이 있습니다.PHP에서 생성 한 캘린더에서 '일일 일일'셀에 데이터 배치
쿼리 응답은 한 달에 여러 날짜를 나타내는 행 배열입니다. 각 행의 데이터를 날짜에 대응시켜야합니다. 날짜 정보는 MySQL에 'datetime'으로 저장됩니다.
데이터를 개최한다 캘린더 요소
여기에 생성됩니다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_ASSOC의 출력을 사용할 수 있습니다 - 기타에 단어, 하나의 셀에 배열을 통해 특정 방법으로 을 실행하고 다음에 몇 셀 나중에 올바른 지점에서 루프를 다시 시작하거나 은 각 날짜에 대해 을 별개의 배열로 분할해야합니다 (대부분 월의 대부분의 날짜는 일반적으로 비어 있습니다) - 만약 그렇다면 어떻게됩니까?
- 코드를 생성하는 날 셀에이 코드 이 속해 있습니까? 오늘, 전 오늘을위한 별도의 루프에 의해이 점에 특히 혼란 스러워요 및 후 오늘 루프의 형태가 가장 좋은 것입니다
- : 나는 동안()를 가정했습니다,하지만 난 위의 혼란을 감안할 때 놀랍지 않게 그것을 만들 수는 없었습니다 ( ).
이에 대한 조언을 전 해주셔서 감사합니다.
을 귀하의 질문에서 빠진 조각. 그것은 매일 (및 서식 지정) 고유 한 링크로 채워진 달력 테이블을 만들기 위해 루프를 사용하는 것처럼 보이지만 MySQL 데이터가 그림에 들어오는 곳을 잘 모르겠습니다. 또는, 위에서 mysql aspect를 어디에 삽입 할 것인지 묻고 있습니까? –
작은 주석 : 여기서는 약간의 중복을 제거 할 수 있습니다. 'if'를 기반으로 TD에서 변경되는 것은 클래스이기 때문에 첫 번째'if' 전에'$ class = 'today';라고 말할 수 있습니다. 그리고'if '$ class. "\\" "$ class" "\">Add Activity " – glomad
고맙습니다. Robot Woods - 프레임의 프레임을 만들지 않았습니다. 명확한 질문 : 아래 "답변"의 재 작성이 더 명확 해지기를 바랍니다. 물론 감사합니다. 물론 당신 말이 맞습니다. 나는 지금 바로 그런 압력을 받고있다. 나는 지금 그것을 작동시켜야한다 - 나는 그것을 나중에 깨끗이 할 것이다 ... – hnmcc