일기장 날짜 부분에 요일별 색 지정 방법 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

일기장 날짜 부분에 요일별 색 지정 방법 정보

일기장 날짜 부분에 요일별 색 지정 방법

본문

열매님의 일기장 스킨입니다.
 
보시면 날짜표현이 한줄로 되어있는데
 
여기서 일요일만 색을 지정하고 싶은데요 어떻게 해야할지 모르겠네요...
 
보통 달력처럼 일주일 단위로 날짜가 되있는 스킨들은 어떻게 만져보겠는데..
이처럼 한줄로 되 있는건 어떻게 해야할지 막막하네요
고수분들의 도움좀 부탁드립니다.
 
참고로 이 스킨은 날짜 함수 뽑은 스킨이 두개로 되있네요  set.php  |  set2.php
 
먼저 set.php 파일 내용입니다.
========================================
 
<?
$td_height="20"; //테이블 크기
$today_color="#005866 style='font-weight:bold;'"; //오늘날짜 색
$else_color="858585"; //나머지 날짜 색
 
//// wr_link1 값이 있을경우 , month , year 바꿈
if($wr_link1){
 $temptemp=explode("/",$wr_link1);
 $year=$temptemp[0];
 $month=$temptemp[1];
}
//한달의 총 날짜 계산 함수
function Month_Day($i_month,$i_year){
 $day=1;
 while(checkdate($i_month,$day,$i_year)){
  $day++;
 }
  $day--;
  return $day;
}
//오늘 날짜를 년월일별로 구하기
$today=date("Ymd");
$today_year=date("Y");
$today_month=date("m");
$today_day=date("d");
//month와 year의 변수값이 지정되어있지 않으면 오늘로 지정.
if(!$month)$month=$today_month;
if(!$year)$year=$today_year;
//선택한 월의 총 일수를 구함.
$total_day=Month_Day($month,$year);
//선택한 월의 1일의 요일을 구함. 일요일은 0.
$first=date(w,mktime(0,0,0,$month,1,$year));
//  지난달과 다음달을 보는 루틴  //
$year_p=$year-1;
$year_n=$year+1;
if($month==1){
 $year_prev=$year_p;
 $year_next=$year;
 $month_prev=12;
 $month_next=$month+1;
}
if($month==12){
 $year_prev=$year;
 $year_next=$year_n;
 $month_prev=$month-1;
 $month_next=1;
}
if($month!=1 && $month!=12){
 $year_prev=$year;
 $year_next=$year;
 $month_prev=$month-1;
 $month_next=$month+1;
}
if(strlen($month_prev)!=2) $month_prev="0".$month_prev;
if(strlen($month_next)!=2) $month_next="0".$month_next;
$value[month_prev]=$month_prev;
$value[month_next]=$month_next;
$value[year_prev]=$year_prev;
$value[year_next]=$year_next;
$value[year]=$year;
$value[month]=$month;
// 오늘 작성한 글이 없고, wr_link1 값이 없을때 최근에 작성 글을 선택한다
if(!$wr_link1 && !mysql_num_rows(mysql_query("SELECT * FROM $write_table WHERE wr_link1='$today_year/$today_month/$today_day'")))
{
 $q_today=mysql_query("SELECT * FROM $write_table order by wr_link1 desc limit 1");
 if(mysql_num_rows($q_today)){
  $data_today=mysql_fetch_array($q_today);
  $wr_link1=$data_today[wr_link1];
 }
}
?>
======================================
 
다음으로 set2.php 내용입니다.
======================================
<?
$count=0;
// 날짜를 테이블에 표시
for($day=1;$day<=$total_day;$day++){
 $count++;
// 오늘 표시
if($day==$today_day && $month==$today_month && $year==$today_year){
 $m_out_color=$today_out_color;
 $m_over_color=$today_over_color;
 $day_color=$today_color;
}
 else if($day==$sunday){
  $m_out_color=$sunday_out_color;
  $m_over_color=$sunday_over_color;
  $day_color=$sunday_color;
  }
  
 else {//평일
  $m_out_color=$else_out_color;
  $m_over_color=$else_over_color;
  $day_color=$else_color;
 }
$month2="";
$day2="";
if(strlen($month)!=2) $month2.="0".$month; else $month2=$month;
if(strlen($day)!=2) $day2.="0".$day; else $day2=$day;
// 내용 보이는 곳 시작
if($wr_link1 && $wr_link1=="$year/$month2/$day2") $m_out_color=$today_out_color;
echo "
<td height='$td_height' align=center style='padding:1px;' background='$daybg'>";
 $view_date = "$year/$month2/$day2";
 $url_view_date = urlencode($view_date);
   
 if(mysql_num_rows(mysql_query("SELECT * FROM $write_table WHERE wr_link1='$view_date'")))
  echo "<a HREF='./board.php?bo_table=$bo_table&wr_link1=$url_view_date' onfocus='this.blur();'><font color='$day_color' style='font-family:verdana;font-size:7pt;font-weight:bold;color:DB0005;'>$day</font></a>";
      // 오늘날짜 이후부터도 글을쓰려면 &&부터 ) 앞까지 삭제
 elseif($write_href && $day <= $today_day && $month <= $today_month && $year <= $today_year)
  echo "<a HREF='./write.php?bo_table=$bo_table&wr_link1=$url_view_date' onfocus='this.blur();'><font color='$day_color' style='font-family:verdana;font-size:7pt;'>$day</font></a>";
 else{
  echo "<font color=$day_color style='font-family:verdana;font-size:7pt;'>$day</font>";
 }
echo "</td>";
// 내용 보이는 곳 끝
 if($count==7 && $day == $total_day ){ // 마지막주의 경우
  echo"</tr>";
 }
}
?>
==========================================================
 
제발.. 도움의 손길 부탁드립니다. ^^;
  • 복사

댓글 전체

set2.php 에 $sunday_color 가 있는걸로 봐서 어딘가에 선언한 부분이 있는걸로 보이는데...

없으면 set.php 의
$today_color="#005866 style='font-weight:bold;'"; //오늘날짜 색
$else_color="858585"; //나머지 날짜 색
밑에
$sunday_color = "#FF0000"; // 일요일색
이라고 추가해보세요.
아.. 그 부분은 제가 그냥 한번 해본 것이었는데..
소스 복사하면서 수정하던걸 복사 했네요 ㅜ.ㅜ
sunday_color = "#FF0000";  이걸 해줬는데도
일요일에 대한 날짜 선언이 안되있어서 안먹히더라구요
원래 소스가
<?
$count=0;
// 날짜를 테이블에 표시
for($day=1;$day<=$total_day;$day++){
 $count++;
// 오늘 표시
if($day==$today_day && $month==$today_month && $year==$today_year){
 $m_out_color=$today_out_color;
 $m_over_color=$today_over_color;
 $day_color=$today_color;
}
 else {//평일
  $m_out_color=$else_out_color;
  $m_over_color=$else_over_color;
  $day_color=$else_color;
 }
$month2="";
$day2="";
if(strlen($month)!=2) $month2.="0".$month; else $month2=$month;
if(strlen($day)!=2) $day2.="0".$day; else $day2=$day;
// 내용 보이는 곳 시작
if($wr_link1 && $wr_link1=="$year/$month2/$day2") $m_out_color=$today_out_color;
echo "
<td height='$td_height' align=center style='padding:1px;' background='$daybg'>";
 $view_date = "$year/$month2/$day2";
 $url_view_date = urlencode($view_date);
   
 if(mysql_num_rows(mysql_query("SELECT * FROM $write_table WHERE wr_link1='$view_date'")))
  echo "<a HREF='./board.php?bo_table=$bo_table&wr_link1=$url_view_date' onfocus='this.blur();'><font color='$day_color' style='font-family:verdana;font-size:7pt;font-weight:bold;color:DB0005;'>$day</font></a>";
      // 오늘날짜 이후부터도 글을쓰려면 &&부터 ) 앞까지 삭제
 elseif($write_href && $day <= $today_day && $month <= $today_month && $year <= $today_year)
  echo "<a HREF='./write.php?bo_table=$bo_table&wr_link1=$url_view_date' onfocus='this.blur();'><font color='$day_color' style='font-family:verdana;font-size:7pt;'>$day</font></a>";
 else{
  echo "<font color=$day_color style='font-family:verdana;font-size:7pt;'>$day</font>";
 }
echo "</td>";
// 내용 보이는 곳 끝
 if($count==7 && $day == $total_day ){ // 마지막주의 경우
  echo"</tr>";
 }
}
?>

이겁니다.

 else if($day==$sunday){
  $m_out_color=$sunday_out_color;
  $m_over_color=$sunday_over_color;
  $day_color=$sunday_color;
  }
 요건 제가 뭔가 해보다가 안된겁니다..
$aaa = date('w', mktime(0, 0, 0, $month, $day, $year));
이렇게 하시면 요일을 숫자로 뽑을 수 있습니다.
0 이면 일요일 ... 6이면 토요일
여기까지만 알려드릴게요.
응용해 보세요...
© SIRSOFT
현재 페이지 제일 처음으로