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

db 저장시 하루에 한번만 가능하게 채택완료

은빛여전사 1년 전 조회 7,514

</p>

<p><?php

$conn = mysqli_connect("localhost", "****", "****!", "****");</p>

<p>

$zzzz = $_GET['cccc']; </p>

<p>$time = date("Y-m-d H:i:s"); // 현재시간 저장</p>

<p> </p>

<p>$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'";</p>

<p>      

$result = mysqli_query($conn, $sql);

if($result === false){

    echo mysqli_error($conn);

}</p>

<p>$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;

}</p>

<p>

?></p>

<p>

 

위 코드는 안드로이드 에서 GET 방식으로 핸드폰 번호를 전송받아서

very_work_list 테이블에 저장된 리스트중에 핸드폰번호와 매칭된 정보들을 불러와서

very_work_time 테이블에 데이터를 저장하는 코드입니다...

 

작동은 정상적으로 잘 되고 있습니다.

현재는 동일 핸드폰 번호일 경우에도 PHP 파일로 핸드폰번호가 전송될때마다

신규로 계속 저장이 되는데요

제가 원하는 것은 핸드폰 번호별로 하루에 한번만 저장되게 하려고 하는데요

먼가 잘 안되서 문의드립니다...

 

어떻게 하면 될까요?

 

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

답변 3개

채택된 답변
+20 포인트
1년 전

</p>

<p>$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);</p>

<p>if ($check_row[0] == 0) {

    // 저장 코드

} </p>

<p>

 

혹은

 

</p>

<p>$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);</p>

<p>if ($check_row[0] > 0) {

 return;   

}</p>

<p>

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

답변에 대한 댓글 2개

미니님a
1년 전
인서트 코드문이 빠져있네요

[code]
?php
$zzzz = $_GET['cccc'];
$time = date("Y-m-d H:i:s"); // 현재시간 저장
$today = date("Y-m-d");

// 데이터베이스 연결
$conn = mysqli_connect('your_host', 'your_username', 'your_password', 'your_database');
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

// 중복 체크 쿼리 실행
$check_sql = "SELECT COUNT(*) FROM very_work_time WHERE work_total = '$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) {
// 중복이 없는 경우 INSERT 쿼리 실행
$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'";

if (mysqli_query($conn, $sql)) {
echo "성공 메세지 혹은 어디로 이동하시던지 맘대로 설정^^;";
} else {
echo "에러: " . $sql . "<br>" . mysqli_error($conn);
}
}
[/code]
은빛여전사
1년 전
감사합니다.

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

최초에 한번 저장하고 이후에 저장여부를 체크할수있는 플래그로 

saveYN과 저장날짜로 체크를 하시어 

없을때만 insert하시면 됩니다. 

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

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

플라이
1년 전
$time 이라고 오늘 날짜 저장을 하고 있으니까

해당 날짜 기준으로 

 

select 기준으로 where left(work_datetime,10)='2024-01-01' and work_hp = '{$zzzz}' 값이 존재하는지 여부를 보고

 

등록을 하도록 insert 처리해 주시면 되십니다.

 

그럼 하루에 한번만 등록이 될겁니다.

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

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

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

로그인