테스트 사이트 - 개발 중인 베타 버전입니다

날짜 관련 문의합니다. 채택완료

김선만 11년 전 조회 4,150

글쓰기란에 아래처럼 있습니다. 날짜인데 몇일 전에 글 작성했나 입니다.

1일 ~ 30 까지 나오게 했습니다.

 

$sql  = " select wr_1 from $write_table where mb_id = '$member[mb_id]' order by wr_1 desc limit 1 ";

$result = sql_query($sql); 

while ($row = sql_fetch_array($result)){ 

//$last_write_date라는 변수에 꺼내온 날짜를 담아둡니다. 

$last_write_date = $row[wr_1]; 

//$last_write_day변수에 날짜데이터를 변환해서 넣어둡니다. 

$last_write_day = date("Y-m-d",strtotime($last_write_date)); 

//$last_write_day변수에 들어있는 날짜데이터를 - 를 기준으로 쪼개서 배열변수로 변환합니다. 

$last_write_day = explode("-",$last_write_day); 

//마지막 글 쓴 일로부터 $limit_days만큼 지난 날짜를 얻어 $limit_day 함수에 넣어둡니다. 

$limit_day = date("y-m-d",mktime(0,0,0,$last_write_day[1],$last_write_day[2]+$limit_date,$last_write_day[0])); 

//$today 변수에 오늘 날짜를 변환해서 넣어둡니다. 

$today = date("y-m-d",time()); 

$day_count = floor((G5_SERVER_TIME-strtotime($limit_day))/86400);

echo $day_count;  

 

----------생략----------

 <option value="16" <? if ($day_count == 16) { echo("selected=selected"); }  ?>>16일</option>

 <option value="15" <? if ($day_count == 15) { echo("selected=selected"); }  ?>>15일</option>

 <option value="14" <? if ($day_count == 14) { echo("selected=selected"); }  ?>>14일</option>

 <option value="13" <? if ($day_count == 13) { echo("selected=selected"); }  ?>>13일</option> 

---------생략----------

 

15일 전에 글 작성하고 오늘 글 작성하면 

전 글작성 일 "15" 일전 이런식으로 나옵니다.

근데 처음 작성하면 16363 이렇게 나옵니다.

 

처음 작성하면 처음 이라고 나오게 하고 오늘 두번이상 작성하면 "오늘" 이라고 표시하고 32일 이상이면 "표시안함"  이라고 나오게 했으면합니다.

가능할런지요

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
11년 전

$sql  = " select wr_1 from $write_table where mb_id = '$member[mb_id]' order by wr_1 desc limit 1 ";

$result = sql_query($sql); 

while ($row = sql_fetch_array($result)){ 

//$last_write_date라는 변수에 꺼내온 날짜를 담아둡니다. 

$last_write_date = $row[wr_1]; 

if (!$last_write_date) {

 $day_count="처음";

}else if (date("y-m-d") == date("Y-m-d",strtotime($last_write_date)) {

$day_count="오늘";

}else if (date("y-m-d", time()-2764800) >= date("Y-m-d",strtotime($last_write_date)) {

$day_count="표시안함";

}else{

//$last_write_day변수에 날짜데이터를 변환해서 넣어둡니다. 

$last_write_day = date("Y-m-d",strtotime($last_write_date)); 

//$last_write_day변수에 들어있는 날짜데이터를 - 를 기준으로 쪼개서 배열변수로 변환합니다. 

$last_write_day = explode("-",$last_write_day); 

//마지막 글 쓴 일로부터 $limit_days만큼 지난 날짜를 얻어 $limit_day 함수에 넣어둡니다. 

$limit_day = date("y-m-d",mktime(0,0,0,$last_write_day[1],$last_write_day[2]+$limit_date,$last_write_day[0])); 

//$today 변수에 오늘 날짜를 변환해서 넣어둡니다. 

$today = date("y-m-d",time()); 

$day_count = floor((G5_SERVER_TIME-strtotime($limit_day))/86400);

}

cho $day_count;

 

 

이렇게 해 보세요~~ ^^

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

김선만
11년 전
전체 적용하니 에러나 나지만

if (!$last_write_date) {
$day_count="처음";
}
cho $day_count;
이렇게 하니 처음이라고 나옵니다. 오늘은 0으로 나오니 크게 상관없고요
적용안함은 안해도 되는 문제였구요

정말 감사하고 고맙습니다.^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인