달력 일정에서 리스트를 뽑는법?? 정보
달력 일정에서 리스트를 뽑는법??본문
여분필드 wr_1 , wr_2에 날짜가 들어갑니다.
예를들어 20110714 , 20110928 이런식으로 시작날짜와 끝나는 날짜가 들어갑니다.
그런데 아래와 같은 list.skin.php 가 있습니다.
해당 소스는 일주일간의 일정을 뽑는데 시작된 날짜만 출력합니다. 시작한 날짜만 출력되는것이 아니라 시작하는 날짜와 끝나는 날짜까지 모두 출력을 하고 싶은데 어떻게 해야할까요??
하루종일 씨름하고 붙잡고 있어도 제실력으로는 도져히 되지 않아 이 새벽녁까지 고민고민하다 질문드리게 되었습니다. 정말 진심으로 초보에게 한줄기 빛을 주세요...ㅠㅜ
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//가로 세로 폭 지정
$col_height= 60 ;
$f_day = date("Ymd",mktime(0, 0, 0, $month, $day-7, $year));
$pervyear = substr($f_day,0,4);
$prevmonth = sprintf("%d",substr($f_day,4,2));
$prevday = sprintf("%d",substr($f_day,6,2));
$l_day = date("Ymd",mktime(0, 0, 0, $month, $day+7, $year));
$nextyear = substr($l_day,0,4);
$nextmonth = sprintf("%d",substr($l_day,4,2));
$nextday = sprintf("%d",substr($l_day,6,2));
$offset = date(w, mktime(0, 0, 0, $month, 1, $year));
$cur_day = date("w",mktime(0, 0, 0, $month, $day, $year));
$minus_day = 6 - $cur_day;
$week_first = date("Ymd", mktime(0, 0, 0, $month, $day-$cur_day, $year));
$week_last = date("Ymd", mktime(0, 0, 0, $month, $day+$minus_day, $year));
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tbline1">
<?
$cel_mon = sprintf("%02d",$month);
$query = "SELECT * FROM $write_table WHERE left(wr_1,6) <= '$year$cel_mon' {$sca_sql} and left(wr_2,6) >= '$year$cel_mon' ORDER BY wr_id ASC";
$result = sql_query($query);
$list = array();
for ($j=0; $row=mysql_fetch_array($result); $j++) {
$list[$j][wr_id] = $row[wr_id];
$list[$j][wr_subject] = $row[wr_subject];
$list[$j][wr_1] = $row[wr_1];
$list[$j][wr_2] = $row[wr_2];
$list[$j][wr_5] = $row[wr_5];
$list[$j][wr_6] = $row[wr_6];
$list[$j][wr_7] = $row[wr_7];
}
?>
<tr height="30">
<td class="tbline2 bbs_head bbs_fhead" align="center" width="30">요일</td>
<td class="tbline2 bbs_head bbs_fhead" align="center" width="60">날짜</td>
<td class="tbline2 bbs_head bbs_fhead" align="center">일정</td>
</tr>
<?
for($i=0; $i<=6; $i++) {
$year1 = date("Y",mktime(0, 0, 0, $month, $day-$cur_day+$i, $year));
$month1 = date("n",mktime(0, 0, 0, $month, $day-$cur_day+$i, $year));
$day1 = date("j",mktime(0, 0, 0, $month, $day-$cur_day+$i, $year));
$bgcolor = "#ffffff"; //일반날짜
// 요일 표시하기
switch($i) {
case("0"):
$yoil = "<font color=#FF0000>일</font>";
$bgcolor = "#FEFAFF";
break;
case("1"):
$yoil = "월";
break;
case("2"):
$yoil = "화";
break;
case("3"):
$yoil = "수";
break;
case("4"):
$yoil = "목";
break;
case("5"):
$yoil = "금";
break;
default:
$yoil = "<font color=#0000FF>토</font>";
$bgcolor = "#F0F8FF";
}
$tmp = sprintf("%02d",$month1)."-".sprintf("%02d",$day1);
if ($nal[$tmp]) {
$title = trim($nal[$tmp][1]);
if (trim($nal[$tmp][2]) == "*") {
$day1 = "$day1 <br> <font color=#804180>$title</font>";
$bgcolor = "#FEFAFF";
} //공휴일
else { $day1 = "$day1 <br> $title"; }
}
if ($thisyear==$year && $thismonth==$month && $thisday==$day1) $bgcolor = "#FFFFC0"; //오늘날짜
?>
<tr height="<?=$col_height?>">
<td class="tbline2" align="center" bgcolor="<?=$bgcolor?>"><?echo $yoil?></td>
<td class="tbline2" align="center" bgcolor="<?=$bgcolor?>">
<?
//글쓰기 권한여부
if ($write_href) {
$f_date = $year1.sprintf("%02d",$month1).sprintf("%02d",$day1);
echo " <a href='$write_href&write[wr_1]=$f_date'>{$month1}. {$day1}</a>\n";
}
else {
echo "$day1\n";
}
?>
</td>
<td class="tbline2" bgcolor="<?=$bgcolor?>">
<? for ($k=0; $k<$j; $k++) {
if ($day1 == substr($list[$k][wr_1],6,2)) {?>
<div id='box_list2'>
<div id='box01'><?=$list[$k][wr_3]?><a href='./board.php?bo_table=<?=$bo_table?>&wr_id=<?=$list[$k][wr_id]?>'><?=$list[$k][wr_subject]?></a></div>
<div id='box03'><?=$list[$k][wr_5]?></div>
<div id='box03'><font color=#e04f00><?=$list[$k][wr_7]?></font></div>
<div id='box04'><font color=#4d9d0d><?=$list[$k][wr_6]?></font></div> </div>
<? }
}?>
</td>
</tr>
<? } ?>
</table>
예를들어 20110714 , 20110928 이런식으로 시작날짜와 끝나는 날짜가 들어갑니다.
그런데 아래와 같은 list.skin.php 가 있습니다.
해당 소스는 일주일간의 일정을 뽑는데 시작된 날짜만 출력합니다. 시작한 날짜만 출력되는것이 아니라 시작하는 날짜와 끝나는 날짜까지 모두 출력을 하고 싶은데 어떻게 해야할까요??
하루종일 씨름하고 붙잡고 있어도 제실력으로는 도져히 되지 않아 이 새벽녁까지 고민고민하다 질문드리게 되었습니다. 정말 진심으로 초보에게 한줄기 빛을 주세요...ㅠㅜ
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//가로 세로 폭 지정
$col_height= 60 ;
$f_day = date("Ymd",mktime(0, 0, 0, $month, $day-7, $year));
$pervyear = substr($f_day,0,4);
$prevmonth = sprintf("%d",substr($f_day,4,2));
$prevday = sprintf("%d",substr($f_day,6,2));
$l_day = date("Ymd",mktime(0, 0, 0, $month, $day+7, $year));
$nextyear = substr($l_day,0,4);
$nextmonth = sprintf("%d",substr($l_day,4,2));
$nextday = sprintf("%d",substr($l_day,6,2));
$offset = date(w, mktime(0, 0, 0, $month, 1, $year));
$cur_day = date("w",mktime(0, 0, 0, $month, $day, $year));
$minus_day = 6 - $cur_day;
$week_first = date("Ymd", mktime(0, 0, 0, $month, $day-$cur_day, $year));
$week_last = date("Ymd", mktime(0, 0, 0, $month, $day+$minus_day, $year));
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tbline1">
<?
$cel_mon = sprintf("%02d",$month);
$query = "SELECT * FROM $write_table WHERE left(wr_1,6) <= '$year$cel_mon' {$sca_sql} and left(wr_2,6) >= '$year$cel_mon' ORDER BY wr_id ASC";
$result = sql_query($query);
$list = array();
for ($j=0; $row=mysql_fetch_array($result); $j++) {
$list[$j][wr_id] = $row[wr_id];
$list[$j][wr_subject] = $row[wr_subject];
$list[$j][wr_1] = $row[wr_1];
$list[$j][wr_2] = $row[wr_2];
$list[$j][wr_5] = $row[wr_5];
$list[$j][wr_6] = $row[wr_6];
$list[$j][wr_7] = $row[wr_7];
}
?>
<tr height="30">
<td class="tbline2 bbs_head bbs_fhead" align="center" width="30">요일</td>
<td class="tbline2 bbs_head bbs_fhead" align="center" width="60">날짜</td>
<td class="tbline2 bbs_head bbs_fhead" align="center">일정</td>
</tr>
<?
for($i=0; $i<=6; $i++) {
$year1 = date("Y",mktime(0, 0, 0, $month, $day-$cur_day+$i, $year));
$month1 = date("n",mktime(0, 0, 0, $month, $day-$cur_day+$i, $year));
$day1 = date("j",mktime(0, 0, 0, $month, $day-$cur_day+$i, $year));
$bgcolor = "#ffffff"; //일반날짜
// 요일 표시하기
switch($i) {
case("0"):
$yoil = "<font color=#FF0000>일</font>";
$bgcolor = "#FEFAFF";
break;
case("1"):
$yoil = "월";
break;
case("2"):
$yoil = "화";
break;
case("3"):
$yoil = "수";
break;
case("4"):
$yoil = "목";
break;
case("5"):
$yoil = "금";
break;
default:
$yoil = "<font color=#0000FF>토</font>";
$bgcolor = "#F0F8FF";
}
$tmp = sprintf("%02d",$month1)."-".sprintf("%02d",$day1);
if ($nal[$tmp]) {
$title = trim($nal[$tmp][1]);
if (trim($nal[$tmp][2]) == "*") {
$day1 = "$day1 <br> <font color=#804180>$title</font>";
$bgcolor = "#FEFAFF";
} //공휴일
else { $day1 = "$day1 <br> $title"; }
}
if ($thisyear==$year && $thismonth==$month && $thisday==$day1) $bgcolor = "#FFFFC0"; //오늘날짜
?>
<tr height="<?=$col_height?>">
<td class="tbline2" align="center" bgcolor="<?=$bgcolor?>"><?echo $yoil?></td>
<td class="tbline2" align="center" bgcolor="<?=$bgcolor?>">
<?
//글쓰기 권한여부
if ($write_href) {
$f_date = $year1.sprintf("%02d",$month1).sprintf("%02d",$day1);
echo " <a href='$write_href&write[wr_1]=$f_date'>{$month1}. {$day1}</a>\n";
}
else {
echo "$day1\n";
}
?>
</td>
<td class="tbline2" bgcolor="<?=$bgcolor?>">
<? for ($k=0; $k<$j; $k++) {
if ($day1 == substr($list[$k][wr_1],6,2)) {?>
<div id='box_list2'>
<div id='box01'><?=$list[$k][wr_3]?><a href='./board.php?bo_table=<?=$bo_table?>&wr_id=<?=$list[$k][wr_id]?>'><?=$list[$k][wr_subject]?></a></div>
<div id='box03'><?=$list[$k][wr_5]?></div>
<div id='box03'><font color=#e04f00><?=$list[$k][wr_7]?></font></div>
<div id='box04'><font color=#4d9d0d><?=$list[$k][wr_6]?></font></div> </div>
<? }
}?>
</td>
</tr>
<? } ?>
</table>
댓글 전체