코딩초보가 구글 찾으면서 하다가 제대로 찾질못해서 그런지 자료가 안나와서 질문드립니다.
랜딩페이지를 만들어서 고객정보를 수집하는데 수집항목이 이름,전화번호 입니다.
고객이 이름,전화번호를 입력하면 날짜 및 시간은 자동으로 DB에 입력되고 있습니다.
이 상태에서 전화번호로 중복접수를 거르고 있는데 한번 신청한 전화번호로 또 신청시 DB내역과 대조해서 신청 못하게는 만들었는데 생각해보니 30일 뒤에 신청을해도 안된다는걸 깨닫고 처음신청한 날짜 기준으로 30일 뒤에 재 신청시에는 신청가능하게 만들고 싶은데 검색을 해도 제가 원하는 자료가 안나오네요...
처음 신청 후 30일 후 신청시 신청되게 하는 코딩은 어떻게 만들어야 하나요?
현재 제가 작성한 중복체크해서 거르는 코딩 올려드려요
<?PHP
// DB 중복검사
$sql = "SELECT count(*) cnt FROM g5_write_online_3 WHERE wr_1 = '{$wr_1}'";
$row = sql_fetch($sql);
if($row['cnt'] > 0) {
alert("이미 존재하는 연락처가 있습니다.");
exit;
}
?>
답변 2개 / 댓글 5개
채택된 답변
+20 포인트
HappyTank
5년 전
이렇게요. 30일 이내 있는가를 비교하는 쿼리
Copy
$sql = "SELECT count(*) cnt FROM g5_write_online_3 WHERE wr_1 = '{$wr_1}'";
===>
$sql = "SELECT count(*) cnt FROM g5_write_online_3 WHERE wr_datetime > DATE_SUB(NOW(), INTERVAL 30 DAY) > wr_1 = '{$wr_1}'";
답변에 대한 댓글 4개
morrie
5년 전
5년 전
오타가 있었네요... 흠냐... AND wr_1 = '{$wr_1}'";
AND를 넣었어야 하는데... ">"이 들어가 있었네요...
[code]
$sql = "SELECT count(*) cnt FROM g5_write_online_3 WHERE wr_datetime > DATE_SUB(NOW(), INTERVAL 30 DAY) AND wr_1 = '{$wr_1}'";
[/code]
AND를 넣었어야 하는데... ">"이 들어가 있었네요...
[code]
$sql = "SELECT count(*) cnt FROM g5_write_online_3 WHERE wr_datetime > DATE_SUB(NOW(), INTERVAL 30 DAY) AND wr_1 = '{$wr_1}'";
[/code]
morrie
5년 전
감사합니다~ 해결됬어요 ㅠㅠ 데이터베이스에 대해서 배우려면 어떤책을 보는게 도움이 될까요. 혼자서 사이트를 만드려니 모르는게 엄청 나오네요 욕심만 많아가지고 좋게 만들고는 싶고 실력은 쥐뿔도 없고 ...
백수1995
5년 전
g5_write_online_3 에 날짜 컬럼이 있다면 해당 쿼리에 날짜 계산을 넣으시고
insert 하는 쿼리에 ON DUPLICATE KEY UPDATE 를 추가하시면 되지 않을까요?
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
$sql = "SELECT count(*) cnt FROM g5_write_online_3 WHERE wr_datetime > DATE_SUB(NOW(), INTERVAL 30 DAY) > wr_1 = '{$wr_1}'";
$row = sql_fetch($sql);
if($row['cnt'] > 0) {
alert("이미 존재하는 연락처가 있습니다.");
exit;
}
?>
알려주신대로 했는데 저렇게 작성하니 기존에 되던 중복체크도 안되네요...