호스팅남은시간 오류 원인을 찾을수가 없습니다 ㅠㅠ

· 2013-07-08 (월) 14:02:24 · 971 · 3
Untitled-1.jpg
Untitled-2.jpg
첨부한 파일 1,2 보시면

호스팅 남은시간이 오류가 납니다~


호스팅남은시간을 클릭해서 적게남은일 순으로 보면 호스팅 마감일이 2012년도인데 벌써 지났으니

- 로 떠야하는데 +로 표시됩니다~


근데 희안하게 호스팅 남은시간을 다시한번 클릭해서 많이남은 순으로 정렬하면

정상적으로 나옵니다.

근데 또 다른업체꺼 검색해보니 그건 거꾸로해도 오류납니다 .

왜이러는 걸까요?ㅠㅠ





호스팅남은시간 계산 부분 소스입니다.


member_list.php-------


if($date1 >= $date2){
$up='+';
}

else{
$up='-';
}





//$list = $i%2;//

//남은시간계산하기
$year = substr("$row[mb_10]",0,4); // 년
$month = substr("$row[mb_10]",-4,2); // 월
$day = substr("$row[mb_10]",-2,2); // 일

$date1=mktime(0,0,0,$month,$day,$year); //end타임의 timestamp값
$date2=mktime();

$total_secs=abs($date1- $date2);
$diff_in_days = floor($total_secs / 86400);
$rest_hours = $total_secs % 86400;
$diff_in_hours = floor($rest_hours / 3600);
$rest_mins = $rest_hours % 3600;
$diff_in_mins = floor($rest_mins / 60);
$diff_in_secs = floor($rest_mins % 60);
$time_diff = $up. $diff_in_days ."일". $diff_in_hours ."시간";
//$diff_in_hours ."시간";
//남은시간계산끝

첨부파일

Untitled-1.jpg (191.4 KB)
0회 2013-07-08 14:01
Untitled-2.jpg (127.3 KB)
0회 2013-07-08 14:01
|

댓글 3개

date1,2가 input 밸류인가요? 첨부파일 확인은 못했지만 date1,2 에 문제가 있을듯 하네요 .. 구간구간 에코찍어보멘 쉽게 답나올것 같은데요..
2013-07-09 (화) 10:57:50
구간구간 에코찍어서 확인하는게 어떻게 넣는건가요?ㅠㅠ //


<td>호스팅시작일(완료일)</td>
<td>
<input class=ed type=text name='mb_9' size=20 maxlength=20 itemname='시작일' value='<?=$mb["mb_9"]?>' title='옆의 달력 글자를 클릭하여 날짜를 입력하세요.'>  
<input type=checkbox value='<? echo date("Ymd"); ?>' onclick='if (this.form.mb_9.value==this.form.mb_9.defaultValue) { this.form.mb_9.value=this.value; } else { this.form.mb_9.value=this.form.mb_9.defaultValue; } '>오늘



</td>
</tr>
<tr class='ht'>
<td>만기일</td>
<td>
<input class=ed type=text name='mb_10' size=20 maxlength=20 itemname='만기일' value='<?=$mb["mb_10"]?>' title='옆의 달력 글자를 클릭하여 날짜를 입력하세요.'>  
<input type=checkbox value='<? echo date("Ymd")+10000; ?>' onclick='if (this.form.mb_10.value==this.form.mb_10.defaultValue) { this.form.mb_10.value=this.value; } else { this.form.mb_10.value=this.form.mb_10.defaultValue; } '>1년 뒤
<input type=checkbox value='<? echo date("Ymd")+20000; ?>' onclick='if (this.form.mb_10.value==this.form.mb_10.defaultValue) { this.form.mb_10.value=this.value; } else { this.form.mb_10.value=this.form.mb_10.defaultValue; } '>2년 뒤 (시작일이 오늘인 경우에 사용가능)

</td>



이게 입력폼에 들어가있는 소스입니다//
2013-07-10 (수) 10:30:52
지러유님이 넘넘 감사하게도~~ 메일로 보내주셨어요!! 단번에 오류 해결됬습니다 > <
공유해둡니다~~



지러유님 답메일-------------

알고보면 너무 허탈하죠 ^^

첨에 date1,2 값 비교의 위치가 안맞아서 post로 넘어오는 값인가 보다 했는데 그게 아니었네요

비교 구문의 위치가 잘못됐어요 아래 참조하세요~~ ^^



//남은시간계산하기

$year = substr("$row[mb_10]",0,4); // 년

$month = substr("$row[mb_10]",-4,2); // 월

$day = substr("$row[mb_10]",-2,2); // 일



$date1=mktime(0,0,0,$month,$day,$year); //end타임의 timestamp값

$date2=mktime();



if($date1 >= $date2) $up='+'; // $date1,2 값 설정 아래에서 비교해야겠죠? 정상 동작됨을 확인했습니다~

else $up='-';



$total_secs=abs($date1- $date2);

$diff_in_days = floor($total_secs / 86400);

$rest_hours = $total_secs % 86400;

$diff_in_hours = floor($rest_hours / 3600);

$rest_mins = $rest_hours % 3600;

$diff_in_mins = floor($rest_mins / 60);

$diff_in_secs = floor($rest_mins % 60);

$time_diff = $up. $diff_in_days ."일". $diff_in_hours ."시간";

//$diff_in_hours ."시간";

//남은시간계산끝





그리고, for 끝나는 지점에 변수 초기화를 해 주는것도 좋을것 같습니다. 안해도 크게 문제가 없어 보이지만..

$up = '';
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

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

+
제목 글쓴이 날짜 조회
13-07-09 조회 1,674
13-07-09 조회 931
13-07-08 조회 1,389
13-07-08 조회 902
13-07-08 조회 2,547
13-07-08 조회 1,692
13-07-08 조회 1,182
13-07-08 조회 1,120
13-07-08 조회 1,671
13-07-08 조회 944
13-07-08 조회 2,752
13-07-08 조회 1,142
13-07-08 조회 1,083
13-07-08 조회 1,780
13-07-08 조회 1,664
13-07-08 조회 1,830
13-07-08 조회 1,079
13-07-08 조회 900
13-07-08 조회 972
13-07-08 조회 1,721