묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
제로보드 최근글 뽑는거에서.. 일정뽑아오는거 관련한 질문입니다.
2004.01.10 03:22
제로보드 관련 질문인데여...
질답 게시판에 아무리 남겨도..
아무도 답변을 안해주시고..
저도 나름대로 열심히 노력을 해봤는데..
안되더라구여..
아래는 제 질문글 그대로 복사해온건데여..
아시는분 계시면 꼭좀 답변좀 부탁합니다.
=================================================
달력 스킨을 사용하고...
그 게시판에서 입력된 일정을..
최근글 뽑아오는 스킨으로 메인으로 가져오는데..
제가 소스를 제꺼에 맞게 좀 뜯어고쳤는데여..
다 되는데.... 하루에 일정이 두개 이상이면 이상하네여..
1월 9일 금요일
일정이 없습니다.
1월 10일 토요일
일정1
1월 10일 토요일
일정1
일정2
1월 10일 토요일
일정1
일정2
일정3
1월 11일 일요일
일정이 없습니다.
이런식으로 출력이 됩니다.
일정이 없다고 나오는거 어렵게 해놨는데..
저게 말썽이네여...
어떻게해야.. 되는지.. 정말 모르겠네여..
제가 php를 공부해본적이 단 한번도 없어서..
간단한것도 하기가 힘드네여..
고수님들의 답변 기다리겠습니다.
http://www.mzzang.net/ytc5/main.php <-- 지금 열라게 만들고 있는 홈피랍니다. 작업 실패의 결과물이 있는곳입니다.
그리고 아래는 제가 수정한 소스입니다.
잘못된 부분 알려주세여..
그리고 필요하지 않은 부분도 지적해주시면 감사하구여..
<?
//한달의 총 날짜 계산 함수
function TodayMonth_Day($i_month,$i_year){
$day=1;
while(checkdate($i_month,$day,$i_year)){
$day++;
}
$day--;
return $day;
}
// 오늘 일정 함수(buzzard1 스킨 달력에서 오늘 일정 뽑아오는 함수)
function print_schedule($skinname, $title, $id, $num=7, $datetype="Y/m/d") {
global $_zb_path, $_zb_url, $connect, $t_board, $admin_table;
if(!$skinname||!$id||!$title) return;
$str = zReadFile($_zb_path."latest_skin/".$skinname."/main.html");
if(!$str) {
echo "지정하신 $skinname 이라는 최근목록 스킨이 존재하지 않습니다<br>";
return;
}
// main.html 파일을 파싱한다.
$tmpStr = explode("[loop1]",$str);
$header1 = $tmpStr[0];
$tmpStr2 = explode("[loop2]",$tmpStr[1]);
$header2 = $tmpStr2[0];
$tmpStr3 = explode("[/loop2]",$tmpStr2[1]);
$loop = $tmpStr3[0];
$tmpStr4 = explode("[/loop1]",$tmpStr3[1]);
$footer2 = $tmpStr4[0];
$footer1 = $tmpStr4[1];
// 오늘 날짜를 년월일별로 구하기
$today=date($datetype);
$today_year=date("Y");
$today_month=date("m");
$today_day=date("d");
//month와 year의 변수값이 지정되어있지 않으면 오늘로 지정.
if(!$year)$year=(int)$today_year;
if(!$month)$month=(int)$today_month;
if(!$want_day)$want_day=(int)$today_day;
// 오늘의 요일을 구함. 일요일은 0.
$dayofweek=date(w,mktime(0,0,0,$month,$want_day,$year));
$list = "";
for($i = 0; $i < $num; $i++) {
$view_date = "$year/$month/$want_day";
$query="select * from zetyx_board_$id where subject='$view_date' order by reg_date desc";
$result=mysql_query($query, $connect) or die(mysql_error());
if($setup[use_alllist]) $target = "zboard.php?id=".$id;
else $target = "view.php?id=".$id;
$main_data = "";
while($data=mysql_fetch_array($result))
{
$list_subject=$data[sitelink1];
$list_subject=nl2br(stripslashes($list_subject)); // br적용
$main = $loop;
$main = str_replace("[list_subject]","<a onfocus=blur() href='".$_zb_url.$target."&no=$data[no]'><font color=#ffffff>".$list_subject."</font></a>",$main);
$main_data .= "n".$main;
$list .= $header2.$main_data.$footer2;
$list = str_replace("[today_year]",$year,$list);
$list = str_replace("[month]",$month,$list);
$list = str_replace("[want_day]",$want_day,$list);
switch ($dayofweek) {
case (0) : $list = str_replace("[now_yoil]","일요일",$list); break;
case (1) : $list = str_replace("[now_yoil]","월요일",$list); break;
case (2) : $list = str_replace("[now_yoil]","화요일",$list); break;
case (3) : $list = str_replace("[now_yoil]","수요일",$list); break;
case (4) : $list = str_replace("[now_yoil]","목요일",$list); break;
case (5) : $list = str_replace("[now_yoil]","금요일",$list); break;
default : $list = str_replace("[now_yoil]","토요일",$list);
}
}
if (!mysql_num_rows($result))
{
$list_subject="일정이 없습니다.";
$main = $loop;
$main = str_replace("[list_subject]","<font color=#ffffff>".$list_subject."</font>",$main);
$main_data .= "n".$main;
$list .= $header2.$main_data.$footer2;
$list = str_replace("[today_year]",$year,$list);
$list = str_replace("[month]",$month,$list);
$list = str_replace("[want_day]",$want_day,$list);
switch ($dayofweek) {
case (0) : $list = str_replace("[now_yoil]","일요일",$list); break;
case (1) : $list = str_replace("[now_yoil]","월요일",$list); break;
case (2) : $list = str_replace("[now_yoil]","화요일",$list); break;
case (3) : $list = str_replace("[now_yoil]","수요일",$list); break;
case (4) : $list = str_replace("[now_yoil]","목요일",$list); break;
case (5) : $list = str_replace("[now_yoil]","금요일",$list); break;
default : $list = str_replace("[now_yoil]","토요일",$list);
}
}
// 선택한 월의 총 일수를 구함.
$total_day=TodayMonth_Day($month,$year);
// 현재 검색 일에 따라 다음 날을 아래와 같이 설정한다.
if($want_day<$total_day)
$want_day++; // 그 달의 마지막 날이 아니면 날짜를 하루 증가한다.
else {
if($month==12){ // 그 달의 마지막 날이고 12월이면
$year++; // 년도를 증가하고
$month=1; // 1월 1일로 설정한다.
$want_day=1;
}
else { // 그 달의 마지막 날이고 12월이 아니면
$month++; // 월을 증가하고 날짜를 1일로 설정한다.
$want_day=1;
}
}
// 요일 증가. 일요일은 0.
$dayofweek = ++$dayofweek%7;
} // end of for
$list = $header1.$list.$footer1;
$list = str_replace("[title]","<a onfocus=blur() href='".$_zb_url."zboard.php?id=".$id."'>".$title."</a>",$list);
$list = str_replace("[dir]",$_zb_url."latest_skin/".$skinname."/images/",$list);
echo $list;
}
?>
질답 게시판에 아무리 남겨도..
아무도 답변을 안해주시고..
저도 나름대로 열심히 노력을 해봤는데..
안되더라구여..
아래는 제 질문글 그대로 복사해온건데여..
아시는분 계시면 꼭좀 답변좀 부탁합니다.
=================================================
달력 스킨을 사용하고...
그 게시판에서 입력된 일정을..
최근글 뽑아오는 스킨으로 메인으로 가져오는데..
제가 소스를 제꺼에 맞게 좀 뜯어고쳤는데여..
다 되는데.... 하루에 일정이 두개 이상이면 이상하네여..
1월 9일 금요일
일정이 없습니다.
1월 10일 토요일
일정1
1월 10일 토요일
일정1
일정2
1월 10일 토요일
일정1
일정2
일정3
1월 11일 일요일
일정이 없습니다.
이런식으로 출력이 됩니다.
일정이 없다고 나오는거 어렵게 해놨는데..
저게 말썽이네여...
어떻게해야.. 되는지.. 정말 모르겠네여..
제가 php를 공부해본적이 단 한번도 없어서..
간단한것도 하기가 힘드네여..
고수님들의 답변 기다리겠습니다.
http://www.mzzang.net/ytc5/main.php <-- 지금 열라게 만들고 있는 홈피랍니다. 작업 실패의 결과물이 있는곳입니다.
그리고 아래는 제가 수정한 소스입니다.
잘못된 부분 알려주세여..
그리고 필요하지 않은 부분도 지적해주시면 감사하구여..
<?
//한달의 총 날짜 계산 함수
function TodayMonth_Day($i_month,$i_year){
$day=1;
while(checkdate($i_month,$day,$i_year)){
$day++;
}
$day--;
return $day;
}
// 오늘 일정 함수(buzzard1 스킨 달력에서 오늘 일정 뽑아오는 함수)
function print_schedule($skinname, $title, $id, $num=7, $datetype="Y/m/d") {
global $_zb_path, $_zb_url, $connect, $t_board, $admin_table;
if(!$skinname||!$id||!$title) return;
$str = zReadFile($_zb_path."latest_skin/".$skinname."/main.html");
if(!$str) {
echo "지정하신 $skinname 이라는 최근목록 스킨이 존재하지 않습니다<br>";
return;
}
// main.html 파일을 파싱한다.
$tmpStr = explode("[loop1]",$str);
$header1 = $tmpStr[0];
$tmpStr2 = explode("[loop2]",$tmpStr[1]);
$header2 = $tmpStr2[0];
$tmpStr3 = explode("[/loop2]",$tmpStr2[1]);
$loop = $tmpStr3[0];
$tmpStr4 = explode("[/loop1]",$tmpStr3[1]);
$footer2 = $tmpStr4[0];
$footer1 = $tmpStr4[1];
// 오늘 날짜를 년월일별로 구하기
$today=date($datetype);
$today_year=date("Y");
$today_month=date("m");
$today_day=date("d");
//month와 year의 변수값이 지정되어있지 않으면 오늘로 지정.
if(!$year)$year=(int)$today_year;
if(!$month)$month=(int)$today_month;
if(!$want_day)$want_day=(int)$today_day;
// 오늘의 요일을 구함. 일요일은 0.
$dayofweek=date(w,mktime(0,0,0,$month,$want_day,$year));
$list = "";
for($i = 0; $i < $num; $i++) {
$view_date = "$year/$month/$want_day";
$query="select * from zetyx_board_$id where subject='$view_date' order by reg_date desc";
$result=mysql_query($query, $connect) or die(mysql_error());
if($setup[use_alllist]) $target = "zboard.php?id=".$id;
else $target = "view.php?id=".$id;
$main_data = "";
while($data=mysql_fetch_array($result))
{
$list_subject=$data[sitelink1];
$list_subject=nl2br(stripslashes($list_subject)); // br적용
$main = $loop;
$main = str_replace("[list_subject]","<a onfocus=blur() href='".$_zb_url.$target."&no=$data[no]'><font color=#ffffff>".$list_subject."</font></a>",$main);
$main_data .= "n".$main;
$list .= $header2.$main_data.$footer2;
$list = str_replace("[today_year]",$year,$list);
$list = str_replace("[month]",$month,$list);
$list = str_replace("[want_day]",$want_day,$list);
switch ($dayofweek) {
case (0) : $list = str_replace("[now_yoil]","일요일",$list); break;
case (1) : $list = str_replace("[now_yoil]","월요일",$list); break;
case (2) : $list = str_replace("[now_yoil]","화요일",$list); break;
case (3) : $list = str_replace("[now_yoil]","수요일",$list); break;
case (4) : $list = str_replace("[now_yoil]","목요일",$list); break;
case (5) : $list = str_replace("[now_yoil]","금요일",$list); break;
default : $list = str_replace("[now_yoil]","토요일",$list);
}
}
if (!mysql_num_rows($result))
{
$list_subject="일정이 없습니다.";
$main = $loop;
$main = str_replace("[list_subject]","<font color=#ffffff>".$list_subject."</font>",$main);
$main_data .= "n".$main;
$list .= $header2.$main_data.$footer2;
$list = str_replace("[today_year]",$year,$list);
$list = str_replace("[month]",$month,$list);
$list = str_replace("[want_day]",$want_day,$list);
switch ($dayofweek) {
case (0) : $list = str_replace("[now_yoil]","일요일",$list); break;
case (1) : $list = str_replace("[now_yoil]","월요일",$list); break;
case (2) : $list = str_replace("[now_yoil]","화요일",$list); break;
case (3) : $list = str_replace("[now_yoil]","수요일",$list); break;
case (4) : $list = str_replace("[now_yoil]","목요일",$list); break;
case (5) : $list = str_replace("[now_yoil]","금요일",$list); break;
default : $list = str_replace("[now_yoil]","토요일",$list);
}
}
// 선택한 월의 총 일수를 구함.
$total_day=TodayMonth_Day($month,$year);
// 현재 검색 일에 따라 다음 날을 아래와 같이 설정한다.
if($want_day<$total_day)
$want_day++; // 그 달의 마지막 날이 아니면 날짜를 하루 증가한다.
else {
if($month==12){ // 그 달의 마지막 날이고 12월이면
$year++; // 년도를 증가하고
$month=1; // 1월 1일로 설정한다.
$want_day=1;
}
else { // 그 달의 마지막 날이고 12월이 아니면
$month++; // 월을 증가하고 날짜를 1일로 설정한다.
$want_day=1;
}
}
// 요일 증가. 일요일은 0.
$dayofweek = ++$dayofweek%7;
} // end of for
$list = $header1.$list.$footer1;
$list = str_replace("[title]","<a onfocus=blur() href='".$_zb_url."zboard.php?id=".$id."'>".$title."</a>",$list);
$list = str_replace("[dir]",$_zb_url."latest_skin/".$skinname."/images/",$list);
echo $list;
}
?>