db 저장시 하루에 한번만 가능하게
본문
<?php
$conn = mysqli_connect("localhost", "****", "****!", "****");
$zzzz = $_GET['cccc'];
$time = date("Y-m-d H:i:s"); // 현재시간 저장
$sql = "insert into very_work_time (work_id, work_name,work_group,work_intime,work_outtime,work_datetime,work_ip,work_total)
select id, work_name,work_group, '$time', '','$time','{$_SERVER['REMOTE_ADDR']}', '$zzzz'
from very_work_list
where work_hp = '$zzzz'";
$result = mysqli_query($conn, $sql);
if($result === false){
echo mysqli_error($conn);
}
$result = mysqli_query($conn,"SELECT work_name FROM very_work_list where work_hp='$zzzz' ");
$row = mysqli_fetch_array($result);
$data = $row[0];
if($data){
echo $data;
}
?>
위 코드는 안드로이드 에서 GET 방식으로 핸드폰 번호를 전송받아서
very_work_list 테이블에 저장된 리스트중에 핸드폰번호와 매칭된 정보들을 불러와서
very_work_time 테이블에 데이터를 저장하는 코드입니다...
작동은 정상적으로 잘 되고 있습니다.
현재는 동일 핸드폰 번호일 경우에도 PHP 파일로 핸드폰번호가 전송될때마다
신규로 계속 저장이 되는데요
제가 원하는 것은 핸드폰 번호별로 하루에 한번만 저장되게 하려고 하는데요
먼가 잘 안되서 문의드립니다...
어떻게 하면 될까요?
!-->
답변 3
$today = date("Y-m-d");
$check_sql = "SELECT COUNT(*) FROM very_work_time WHERE work_hp = '$zzzz' AND DATE(work_datetime) = '$today'";
$check_result = mysqli_query($conn, $check_sql);
$check_row = mysqli_fetch_row($check_result);
if ($check_row[0] == 0) {
// 저장 코드
}
혹은
$today = date("Y-m-d");
$check_sql = "SELECT COUNT(*) FROM very_work_time WHERE work_hp = '$zzzz' AND DATE(work_datetime) = '$today'";
$check_result = mysqli_query($conn, $check_sql);
$check_row = mysqli_fetch_row($check_result);
if ($check_row[0] > 0) {
return;
}
$time 이라고 오늘 날짜 저장을 하고 있으니까
해당 날짜 기준으로
select 기준으로 where left(work_datetime,10)='2024-01-01' and work_hp = '{$zzzz}' 값이 존재하는지 여부를 보고
등록을 하도록 insert 처리해 주시면 되십니다.
그럼 하루에 한번만 등록이 될겁니다.
최초에 한번 저장하고 이후에 저장여부를 체크할수있는 플래그로
saveYN과 저장날짜로 체크를 하시어
없을때만 insert하시면 됩니다.
답변을 작성하시기 전에 로그인 해주세요.