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

탈퇴회원수 표시방법 문의 채택완료

웹메이킹 3년 전 조회 2,248

관리자 메인 페이지에 회원 가입형황 목록을 만들고 있는데 잘 안되는 부분이 있어서 이렇게 문의드립니다.

현재 총회원 / 오늘 가입회원 / 오늘 탈퇴회원 / 총 탈퇴회원 이런식으로 구성이 되어 있습니다.

다른부분은 목록에 수치가 잘 적용이 되고 있는데 오늘 탈퇴회원관련 부분만 출력이 되지 않고 있습니다.

어떻게 해야 하는지 조언좀 부탁드리겠습니다.

 

소스코드는 아래와 같습니다.

</p>

<p><?php</p>

<p>// 오늘 탈퇴회원수</p>

<p>$today = G5_TIME_YMD;</p>

<p>$leave_today = sql_fetch(" select count(*) as cnt from {$g5['member_table']} where LEFT(mb_leave_datetime, 10)='$today' ");</p>

<p>?></p>

<p> </p>

<p>출력부분</p>

<p><li><p><?=number_format($leave_today[cnt]);?></p>오늘 탈퇴회원</li></p>

<p>

 

즐거운 주말 되시구요,

여러 고수님들의 조언 및 도움 부탁드리겠습니다.

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

답변 4개

채택된 답변
+20 포인트
s
sinbi Expert
3년 전

G5_TIME_YMD : 중간에 - 있는 형식

mb_leave_date : 중간에 - 없는 형식  (주의: mb_leave_datetime : X)

 

날짜 형식을 가공후 비교해 보세요.

 

</p>

<p>$today = str_replace('-','',G5_TIME_YMD);

$sql = " SELECT count(*) as cnt FROM {$g5['member_table']} WHERE mb_leave_date = {$today} ";</p>

<p>$leave_today = sql_fetch($sql);

echo $leave_today;</p>

<p>

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

답변에 대한 댓글 2개

웹메이킹
3년 전
안녕하세요 sinbi 님
sinbi 님의 조언으로 해결되었습니다. 감사합니다.

G5_TIME_YMD;
date('Y-m-d',strtotime("days"));
date('Ymd);
str_replace('-','',G5_TIME_YMD);

궁금한게 있습니다. 날짜 함수가 위와같이 사용되는데 차이점이 궁금합니다.
날짜함수에 관련해서 참고할수 있는 사이트가 있늘까요?
php 사이트는 전부 영어라..ㅠㅠ
s
sinbi
3년 전
G5_TIME_YMD 상수는 그누/config.php에서 정의한 상수이고,
나머지는 아래 사이트에서 각 함수를 검색해서 공부해 보세요.
https://www.php.net/
PS1. 코딩 공부하려면, 껄그러워도.....영어랑 친해지셔야 해요.
PS2. 제 사이트는 유료라 해당 함수 링크 걸어드리기 좀 거시기.

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

엑스엠엘 님

답변주셔서감사합니다.

$today = date('Ymd'); 이렇게해봐도 오늘 탈퇴회원수에는 수치가출력이 도지 않는군요..ㅠㅠ

초보자라 역시 어렵군요.. 

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

답변에 대한 댓글 1개

엑스엠엘
3년 전
phpmyadmin 등에서
select mb_leave_datetime from g5_member where mb_leave_datetime >''
해서 어떤 포맷으로 날짜가 저장되었는지 확인해 보세요.

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

$today = date('Ymd');

로 해보세요

Echo G5_TIME_YMD;

해서 문자열도 한번 확안해 보세요

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

답변에 대한 댓글 3개

웹메이킹
3년 전
안녕하세요 엑스엠엘 님
우선 답변 감사합니다.
Echo G5_TIME_YMD; 했을경우 2022-10-22 이렇게 출력은 됩니다.
날짜를 출력하는게 아니라 오늘 탈퇴회원수를 출력을 하려고 하는건데 이리저리 찾아봐도 잘 안되네요
소스 코드를 어떻게 해야하면 될까요?
엑스엠엘
3년 전
$today = date('Ymd');
이렇게 해 보세요
웹메이킹
3년 전
엑스엠엘 님의 도움으로 조금씩 배워나가고 있습니다.
도움 주셔서 감사합니다.

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

3년 전

</p>

<p>$sql = " select count(*) as cnt from {$g5['member_table']} where LEFT(mb_leave_datetime, 10)='$today' ";

echo $sql; // 이부분 출력해서 직접 쿼리 날려보시고</p>

<p>$leave_today = sql_fetch($sql);</p>

<p>

// number_format($leave_today[cnt])

number_format($leave_today['cnt']) // 처럼 해보세요</p>

<p>

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

답변에 대한 댓글 4개

웹메이킹
3년 전
안녕하세요 베르만님
늦은시간에 이렇게 답변을 주셔서 감사드립니다.
알려주신대로 수정해보고 테스트 했을때 백지상태로 뜨는군요..ㅠㅠ
좀더 구체적으로 설명 부탁드려도 될까요? 초보자라 좀 어렵게 느껴지는군요~

결과값이
select count(*) as cnt from g5_member where LEFT(mb_leave_datetime, 10)='2022-10-22'
위처럼 나오는데 어디가 문제인건지요?
배르만
3년 전
[code]
$sql = " select count(*) as cnt from {$g5['member_table']} where LEFT(mb_leave_datetime, 10)='$today' ";
echo $sql;
[/code]
단순히 이 구문만 작성했는데 백지상태라면 어디선가 다른곳에서 에러나고 있는건 아닌가 싶습니다.
배르만
3년 전
출력이 된다면 그 쿼리 복사해서 그대로 질의해보세요
웹메이킹
3년 전
베르만 님의 조언으로 모르고 있었던 부분 배웠습니다.
감사합니다

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

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

로그인