제가 달력을 이용한 일정게시판을 만들었는데요,, 이 게시판에서는 그날의 일정만 보여주도록 만들었습니다. 예를들어 22일이면 22일에 저장된 글만 나오게 만들었는데요
최신글에서 이 게시판을 불러오면 해당 날짜에 맞게 자동으로 갱신되지않고 수동으로 서버에 계속 올려줘야 날짜가 변경되더군요.. 그래서 매일 해당 게시판처럼 자동으로 갱신되게 하려면 어떻게 해야하나요??
<최신글>
<?php for ($i=0; $i<count($list); $i++) { ?><?php echo substr($list[$i]['wr_2'],0,4).".".substr($list[$i]['wr_2'],4,2).".".substr($list[$i]['wr_2'],6,2); ?></div> <?php $str1 = $list[$i]['wr_content']; $str2 = $list[$i]['wr_3']; echo "<a href=\"".$list[$i]['href']."\">"; echo str_replace(',', '<br>', $str1); echo str_replace(',', '<br>', $str2); echo "</a>"; ?> <?php } ?> <?php if (count($list) == 0) { //게시물이 없을 때 ?> <div>게시물이 없습니다.</div> <?php } ?>
<게시판>
...<?$cday = 1;$sel_mon = sprintf("%02d",$month); $query = "SELECT * FROM $write_table WHERE left(wr_1,6) <= '$year$sel_mon' and left(wr_2,6) >= '$year$sel_mon' ORDER BY wr_id ASC";$result = sql_query($query);$j=0; // layer id// 내용을 보여주는 부분while ($row = sql_fetch_array($result)) { // 제목글 뽑아서 링크 문자열 만들기.. if( substr($row[wr_1],0,6) < $year.$sel_mon ) { $start_day =1; $start_day= (int)$start_day; } else { $start_day = substr($row[wr_1],6,2); $start_day= (int)$start_day; } if( substr($row[wr_2],0,6) > $year.$sel_mon ) { $end_day = $lastday[$month]; $end_day= (int)$end_day; } else { $end_day = substr($row[wr_2],6,2); $end_day= (int)$end_day; } for ($i = $start_day ; $i <= $end_day; $i++) { $j++; // layer ID if ($member[mb_level] < $board[bo_read_level]) { $showLayer="" ; } else { $showLayer=" onmouseover=\"PopupShow('".$j."')\" onmouseout=\"PopupHide('".$j."')\" "; }?><? $html = 0; if (strstr($row[wr_option], "html1")) $html = 1; else if (strstr($row[wr_option], "html2")) $html = 2; $viewlist = cut_str(conv_content($row[wr_content], $html),200,"…"); $viewdiner = cut_str(conv_content($row[wr_3], $html),200,"…");?><? //오늘 스케줄 구하기 if ($row[wr_id] != $sc_id && date('Ymd', strtotime($row[wr_1])) <= date(Ymd) && date('Ymd', strtotime($row[wr_2])) >= date(Ymd)) { $today_schedule .= "<div class='food_head'>".substr($row['wr_1'],4,2)." 월 ".substr($row['wr_1'],6,2)." 일 <img src='../images/icon_today.png'></div>"; $str1 = $viewlist; $str2 = $viewdiner; $view1 = str_replace(',', '<br>', $str1); $view2 = str_replace(',', '<br>', $str2); $today_schedule .= "<a href='".G5_BBS_URL."/board.php?bo_table=$bo_table&year=$year&month=$month&wr_id=$row[wr_id]&sc_no=$sc_no'>".$view1."</a>"; $today_schedule .= "<a href='".G5_BBS_URL."/board.php?bo_table=$bo_table&year=$year&month=$month&wr_id=$row[wr_id]&sc_no=$sc_no'>".$view2."</a>"; } $sc_id = $row[wr_id]; } } // 달력의 틀을 보여주는 부분 $temp = 7- (($lastday[$month]+$dayoftheweek)%7); if ($temp == 7) $temp = 0; $lastcount = $lastday[$month]+$dayoftheweek + $temp; for ($iz = 1; $iz <= $lastcount; $iz++) { // 42번을 칠하게 된다. $bgcolor = "#ffffff"; // 쭉 흰색으로 칠하고 if ($b_year==$year && $b_mon==$month && $b_day==$cday) $bgcolor = "#003876"; // 오늘날짜 표기 if (($iz%7) == 1) echo ("<tr>"); // 주당 7개씩 한쎌씩을 쌓는다. if ($dayoftheweek < $iz && $iz <= $lastday[$month]+$dayoftheweek) { // 전체 루프안에서 숫자가 들어가는 셀들만 해당됨 // 즉 11월 달에서 1일부터 30 일까지만 해당 $daytext = "$cday"; // $cday 는 숫자 예> 11월달은 1~ 30일 까지 //$daytext 은 셀에 써질 날짜 숫자 넣을 공간 $daycontcolor = "" ; $daycolor = ""; if ($iz%7 == 1) $daycolor = "red"; // 일요일 if ($iz%7 == 0) $daycolor = "blue"; // 토요일 if ($b_year==$year && $b_mon==$month && $b_day==$cday) $daycolor = "white"; // 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고 // 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다. echo ("<td width=$col_width height=$col_height bgcolor=$bgcolor valign=top>"); $f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday); // 기념일 파일 내용 비교위한 변수 선언, 월과 일을 두자리 포맷으로 고정 if (strlen($month) == 1) { $monthp = "0".$month ; } else { $monthp = $month ; } if (strlen($cday) == 1) { $cdayp = "0".$cday ; } else { $cdayp = $cday ; } $memday = $year.$monthp.$cdayp; $daycont = "" ; // 기념일(양력) 표시 for($i=0 ; $i < sizeof($dayfile) ; $i++) { // 파일 첫 행부터 끝행까지 루프 $arrDay = explode("|", $dayfile[$i]); if($memday == $year.$arrDay[0]) { $daycont = $arrDay[1]; $daycontcolor = $arrDay[2]; if(substr($arrDay[2],0,3)=="red") $daycolor = "red"; // 공휴일은 날짜를 빨간색으로 표시 } } if ($write_href) { // $write_href (글쓰기 권한)이 있으면 // 날짜를 클릭하면 글씨쓰기가 가능한 링크를 넣어서 출력하기 echo "<a href='".G5_BBS_URL."/board.php?bo_table=$bo_table&year=$year&month=$month&wr_id=$row[wr_id]&sc_no=$sc_no'><font color='$daycolor'>$daytext</font></a>$moonday <font color='$daycontcolor'>$daycont</font>$blank $annivmoonday"; } else { // 글쓰기 권한이 없으면 글쓰기 링크는 넣지 않고 그냥 숫자와 기념일 내용만 출력하기 echo "<a href='".G5_BBS_URL."/board.php?bo_table=$bo_table&year=$year&month=$month&wr_id=$row[wr_id]&sc_no=$sc_no'><font color='$daycolor'>$daytext</font></a>"; } echo $html_day[$cday]; echo ("</td>"); // 한칸을 마무리 $cday++; // 날짜를 카운팅 } // 유효날짜가 아니면 그냥 회색을 칠한다. else { echo (" <td width=$col_width height=$col_height bgcolor=#ffffff valign=top> </td>"); } if (($iz%7) == 0) echo (" </tr>"); } // 반복구문이 끝남 ?>...
답변 2개 / 댓글 3개
최신글 추출을 latest 스킨을 사용하시나요?
그렇다면 latest.lib.php 파일을 좀 수정해야할 필요가 있습니다.
그럴경우 제가 글로써 설명해드리기 어렵고, latest.lib.php 파일도 작업을해야하니..
최신글 추출부분만 따로 제작하는걸 추천해드립니다.
예제)
$ymd = date('Ymd');
$sql = " select * from 테이블명 where left(wr_1,6) = '$ymd' ";
$result = sql_query($sql);
for($i=0; $i<$row=sql_fetch_array($result); $i++) {
echo substr($row['wr_2'],0,4).".".substr($row['wr_2'],4,2).".".substr($row['wr_2'],6,2);
$str1 = $row['wr_content'];
$str2 = $row['wr_3'];
echo "<a href=\"".$row['href']."\">";
echo str_replace(',', '<br>', $str1);
echo str_replace(',', '<br>', $str2);
echo "</a>";
}
이런식으로 따로 쿼리로 추출..
답변에 대한 댓글 2개
예제까지 작성해주시면서 답변 정말 감사합니다!!(__) :D
최신글 올려주신건 쿼리를 가지고 보여지는 부분이고
쿼리쪽을 봐야 알거같아요.
$ymd = date('Ymd');
$query = "SELECT * FROM $write_table WHERE left(wr_1,6) = '$ymd' ";
이런식의 쿼리가 있어야하겠죠..
답변에 대한 댓글 1개
$cday = 1;
$sel_mon = sprintf("%02d",$month);
$query = "SELECT * FROM $write_table WHERE left(wr_1,6) <= '$year$sel_mon' and left(wr_2,6) >= '$year$sel_mon' ORDER BY wr_id ASC";
라고 쿼리가 있긴하네용
최신글 쿼리문은
if (!G5_USE_CACHE || !file_exists($cache_file)) {
$list = array();
$sql = " select * from {$g5['board_table']} where bo_table = '{$bo_table}' ";
$board = sql_fetch($sql);
입니다
답변을 작성하려면 로그인이 필요합니다.
g5_write_aa 를 넣었는데 공백으로 나오면 어떻게하나요..?? sql 외부접근도 풀어놓은상태입니다ㅜㅜ
혹시몰라 'g5_write_aa' 처럼 ''도 넣어봤는데도 공백만나옵니다..ㅜㅜ
<?php
$ymd = date('Ymd');
$sql = " select * from g5_write_aa where left(wr_1,6) = '$ymd' ";
$result = sql_query($sql);
for($i=0; $i<$row=sql_fetch_array($result); $i++) {
?>
<?php echo substr($row['wr_1'],0,4).".".substr($row['wr_1'],4,2).".".substr($row['wr_1'],6,2); //제목 ?>
<?php
$str1 = $row['wr_content'];
$str2 = $row['wr_3'];
echo "<a href=\"".$row['href']."\">";
echo str_replace(',', '<br>', $str1);
echo str_replace(',', '<br>', $str2);
echo "</a>";
?>
<?php } ?>