DB 쿼리 질문 입니다. 정보
DB 쿼리 질문 입니다.
본문
MySQL 5.0.22 입니다.
로그인을 하루에 한번만 가능하게 할려고 하는데요
기준 시간이 매일 오전 11시를 기준으로 하구요.
예를 들어 3월 13일 오전 11시 30분에 로그인 했었으면
다음날인 3월 14일 오전 11시가 되기전까지는 로그인이 안되는 거죠.
퀴리를 만들어 봤는데요
select count(*) AS etam from member where memberID='$memid' and '$lastloginDate'>concat(if(hour(now())>11, date_format(now(), '%Y-%m-%d'), date_format(now() - interval 1 day, '%Y-%m-%d')), '11:00:00')
원하는 방향으로 결과가 나오지 않아서 이곳에 문의를 남깁니다.
$lastloginDate의 필드 타입은 datetime 입니다. 로그인 했을대 저장은 now()로 합니다.
위와 같은 퀴리를 돌려서 나온 결과를 처리하는 방식은 아래와 같습니다.
if($row[etam] > 0) {
echo("
<script>
window.alert('오전 11시를 기준으로 1일 1회만 참여가능합니다.');
top.location.href='/';
</script>
");
exit;
}
로그인을 하루에 한번만 가능하게 할려고 하는데요
기준 시간이 매일 오전 11시를 기준으로 하구요.
예를 들어 3월 13일 오전 11시 30분에 로그인 했었으면
다음날인 3월 14일 오전 11시가 되기전까지는 로그인이 안되는 거죠.
퀴리를 만들어 봤는데요
select count(*) AS etam from member where memberID='$memid' and '$lastloginDate'>concat(if(hour(now())>11, date_format(now(), '%Y-%m-%d'), date_format(now() - interval 1 day, '%Y-%m-%d')), '11:00:00')
원하는 방향으로 결과가 나오지 않아서 이곳에 문의를 남깁니다.
$lastloginDate의 필드 타입은 datetime 입니다. 로그인 했을대 저장은 now()로 합니다.
위와 같은 퀴리를 돌려서 나온 결과를 처리하는 방식은 아래와 같습니다.
if($row[etam] > 0) {
echo("
<script>
window.alert('오전 11시를 기준으로 1일 1회만 참여가능합니다.');
top.location.href='/';
</script>
");
exit;
}
댓글 전체
해결 했습니다.
select count(*) AS etam from member where memberID='$memid' and '$lastloginDate'>=DATE_FORMAT(now(),'%Y-%m-%d 11:00:00') AND
'$lastloginDate' < DATE_FORMAT( DATE_ADD( now( ) , INTERVAL 1 DAY ) , '%Y-%m-%d 11:00:00' )
select count(*) AS etam from member where memberID='$memid' and '$lastloginDate'>=DATE_FORMAT(now(),'%Y-%m-%d 11:00:00') AND
'$lastloginDate' < DATE_FORMAT( DATE_ADD( now( ) , INTERVAL 1 DAY ) , '%Y-%m-%d 11:00:00' )