사이트에서 DB받을때 중복 거르는 코딩질문
본문
코딩초보가 구글 찾으면서 하다가 제대로 찾질못해서 그런지 자료가 안나와서 질문드립니다.
랜딩페이지를 만들어서 고객정보를 수집하는데 수집항목이 이름,전화번호 입니다.
고객이 이름,전화번호를 입력하면 날짜 및 시간은 자동으로 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
이렇게요. 30일 이내 있는가를 비교하는 쿼리
$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}'";
g5_write_online_3 에 날짜 컬럼이 있다면 해당 쿼리에 날짜 계산을 넣으시고
insert 하는 쿼리에 ON DUPLICATE KEY UPDATE 를 추가하시면 되지 않을까요?
답변을 작성하시기 전에 로그인 해주세요.