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

24시간에 1번만 글 작성 가능하게 채택완료

숀보영 10년 전 조회 6,671

</p><p><?
$sql = " select count(*) as cnt from $write_table where mb_id = '$member[mb_id]' and wr_datetime >'$tondate'";
echo $sql;
$row = sql_fetch($sql); 
if ($row[cnt] > 0) { 
    alert("이미 오늘 글쓰기 가능횟수 1회를\\n모두 소진 하셨습니다."); 
} 
?></p><p>

 

이렇게 작성을 하였는데 이렇게 하면 ​2015-04-26 09:00:00~2015-04-27 09:00:00 사이에 한번만 글 작성가능하게가 안됩니다...

제가 원하는건 저렇게 24시간내에 1회만 글 작성가능하게 하는것인데...

어찌좀 부탁 드립니다

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

답변 3개

채택된 답변
+20 포인트

</p><p>/*24시후 다시 작성가능*/</p><p>$tondate = G5_TIME_YMD." 24:00:00";</p><p>/*작성시간후 정확히 24시간후 다시 작성가능*/</p><p>$tondate = date("Y-m-d", time() + (86400 * 1));</p><p>$sql = " select count(*) as cnt from $write_table where mb_id = '$member[mb_id]' and wr_is_comment = '0' and wr_datetime < '$tondate' ";</p><p>echo $sql;</p><p>$row = sql_fetch($sql);</p><p>if ($row[cnt] > 0) {</p><p>  alert("이미 오늘 글쓰기 가능횟수 1회를\\n모두 소진 하셨습니다.");</p><p>} </p><p>

도움이 될련지 모르겠지만..

이렇게 변경해주세요. 

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

답변에 대한 댓글 1개

숀보영
10년 전
아뇨..
2015-04-26 09:00:00~2015-04-27 09:00:00 이렇게 24시간 사이에 글작성을 하면
다음날 9시에 되야만 글작성할수 있게요~

글쓴후에 24시간후에가 아니라
즉 26일날 오전9시부터 27일오전 8시59분 사이에 글 한번만 쓸수있게
또 다시 아침 9시가 되면 글쓰기 가능횟수가 초기화되게
이걸 원하는겁니다 ㅠㅠ.
제가 설명을 많이 못하나용 ㅠㅠ?

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

10년 전

날짜 부분을

 

datediff(wr_datetime ,'$tondate'​) = 0

 

이렇게 하세요

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

답변에 대한 댓글 7개

숀보영
10년 전
무슨뜻인지좀 알수있을까요??
컴프호스팅
10년 전
날짜 부분 쿼리를 바꾸라는 거에요.
숀보영
10년 전
글쓴후에 24시간후에가 아니라
즉 26일날 오전9시부터 27일오전 8시59분 사이에 글 한번만 쓸수있게
또 다시 27일날 아침 9시가 되면 글쓰기 가능횟수가 초기화되게
이걸 원하는건데
저렇게 바꾸면 이렇게 되나요? ㅎㅎ
숀보영
10년 전
[code]
<?
$tondate = date("Y-m-d").' 09:00:00';
$sql = " select count(*) as cnt from $write_table where mb_id = '$member[mb_id]' and wr_datetime >'$tondate'";
echo $sql;
$row = sql_fetch($sql);
if ($row[cnt] > 0) {
alert("이미 오늘 글쓰기 가능횟수를\\n모두 소진 하셨습니다.");
}
?>
[/code]

현재 소스는 이것입니다...
컴프호스팅
10년 전
((datediff( wr_datetime, now() ) = 0 and hour(wr_datetime) >= 9) and (datediff( now(),wr_datetime ) = 1 and hour(wr_datetime) <= 9 ))

날짜에 대한 것을 찾아보세요.
datediff or mysql 날짜 네이버나 구글로 검색 해 보세요.

자료 엄청 많이 나와요 ;;
숀보영
10년 전
[code]
$sql = " select count(*) as cnt from $write_table where mb_id = '$member[mb_id]' and ((datediff( wr_datetime, now() ) = 0 and hour(wr_datetime) >= 9) and (datediff( now(),wr_datetime ) = 1 and hour(wr_datetime) <= 9 ))
[/code]
혹시 sql 부분을 이렇게 바꾸면 된다는 뜻 인가요?
숀보영
10년 전
분명 글을 여러개 올리고
이렇게 해서 sql 찍어보니
계속 cnt가 0으로 나오네요...

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

10년 전

꼭 시간을 정하지 않는다면

G5_TIME_YMD 날짜로 지정해보셔도 됩니다.

 

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

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

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

로그인