"이름, 일요일, 월요일, 화요일, 수요일, 목요일, 금요일, 토요일"열이있는 HTML 테이블로 구성된 "7 일 일정"을 디자인하는 최선의 방법을 생각해 보려고합니다. HTML 테이블 행은 내 데이터베이스의 데이터로 채워집니다. 이름은 사람 이름을 가지며 일요일에는 일요일에해야 할 일, 즉 "칫솔질"등을 보여줄 것입니다. 이는 성취하고자하는 것을 제외하고 사건 달력과 매우 비슷합니다. 단순한 7 일간, 일요일에서 토요일까지의 견해.PHP MySQL 7 일, 매주, 월 - 금 달력이있는 페이지 매김?
현재 데이터베이스는 "Name, EventDetails, EventDate"로 구성됩니다. 때마다 페이지가로드, 스크립트가 데이터베이스를 조회하고있을 경우 표시됩니다
내 논리 ... "- 일요일 - 월요일 - - 화요일 이름"
내 HTML 테이블 컬럼
는 열로 구성 현재 시청중인 7 일 중 하나와 동일한 EventDate 항목입니다. EventDate가 일치하면 해당 날짜의 해당 HTML 테이블 열과 일치하는 행에 자체가 나열됩니다. "이전 주"또는 "다음 주"를 클릭하면 다른 주로 바뀌므로 스크립트를 다시 시작해야하지만 이번에는 다른 일 목록을 사용하여 확인합니다.누구든지 이러한 목표를 달성하기 위해 무엇을 생각해 낼 수 있습니까?
내가 지금까지 생각해 낸 점은 ... 문제는 사람 아래에 여러 이벤트가있는 경우 각 이벤트마다 새 행을 만드는 반면에 각 이벤트를 한 행에 나열하십시오.
<table border='1'>
<tr>
<th>Name</th>
<th>Sunday</th>
<th>Monday</th>
<th>Tuesday</th>
<th>Wednesday</th>
<th>Thursday</th>
<th>Friday</th>
<th>Saturday</th>
</tr>
<?php
function getCurrentWeek()
{
$weekArray = array();
// set the current date
$date = date("m/d/Y"); //'03/08/2011';
$ts = strtotime($date);
// calculate the number of days since Monday
$dow = date('w', $ts);
$offset = $dow - 0;
if ($offset < 0) $offset = 6;
// calculate timestamp for the Monday
$ts = $ts - $offset*86400;
// loop from Monday till Sunday
for ($i=0; $i<7; $i++, $ts+=86400){
$temp_date = date("Y-m-d", $ts); // Reformat the dates to match the database
array_push($weekArray, $temp_date);
}
return($weekArray);
}
$currentWeek = getCurrentWeek();
// Loop through the data array
while($row = mysql_fetch_array($result)){
$eventDate= $row['EventDate'];
// Loop through the currentWeek array to match a date from the database from a date in the current week
foreach ($currentWeek as $weekDay){
// If there is a matching date...
if ($eventDate == $weekDay) {
echo "<tr><td>".$row['Name']."</td>";
foreach ($currentWeek as $weekDay2){
if ($eventDate == $weekDay2)
echo "<td>".$row['EventName']."</td>";
else
echo "<td></td>";
}
echo "</tr>";
}
}
}
?>
</table>
코드를 작성 했습니까? 왜 거기에 무료 PHP 캘린더 스크립트가 많이있을 때 이것을 처음부터 작성하려고합니까? – drudge
나는 내가 지금까지 가지고있는 것을 포함시켰다. 또한, 나는 이미 저 밖에있는 내용을 복사하여 붙여 넣기를 원하지 않았습니다. 왜냐하면 그것은 저에게 많은 학습 경험이 될 수 없기 때문입니다. 나는 이것으로 시작하고있다. – Giovanni