로그인한 날짜가 정해진 숫자 이상일 경우는 어떻게 뽑는지요
깜찍한악마님의 '로그인하지 않은 회원뽑기' 팁을 사용 중인데요
로그인하지 않은 회원을 뽑을 때 3일을 지정했더니 로그인하지 않은 날이 4일이상 되는 회원은 뽑아내지 않더군요.
로그인하지 않은 날이 3일 이상이라고 하면 로그인하지 않은 날이 4일이 되어도 뽑아 낼 것 같은데 소스를 몰라서 그러니 가르쳐 주셨으면 고맙겠습니다.
사용소스
<?
include_once("./_common.php");
include_once("./_head.php");
include_once("$g4[path]/head.sub.php");
$g4[title] = "3일 이상 결석한 사람";
include_once("./_common.php");
include_once("./_head.php");
include_once("$g4[path]/head.sub.php");
$g4[title] = "3일 이상 결석한 사람";
$login_time = "3"; //지난 몇일 동안?
$today_login_time = date("Y-m-d H:i:s", $g4['server_time'] - ($login_time * 86400));
$today_login_time = date("Y-m-d H:i:s", $g4['server_time'] - ($login_time * 86400));
//페이지
$nologin_sql = " select count(*) as cnt from $g4[member_table] where mb_today_login < '$today_login_time' ";
$nologin_row = sql_fetch($nologin_sql);
.
$nologin_sql = " select count(*) as cnt from $g4[member_table] where mb_today_login < '$today_login_time' ";
$nologin_row = sql_fetch($nologin_sql);
.
.
.
.
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 21개
10/2~10/3일 사이의 목록이 보입니다만....
지금 나타난 사람보다 먼저 로그인한 사람이요
아니면 레벨적용시 문제가?....
소스를 댓글에 올려 주세요....
그리고 레벨은 똑같구요
<?
include_once("./_common.php");
include_once("./_head.php");
include_once("$g4[path]/head.sub.php");
$g4[title] = "3일 이상 결석한 사람";
$login_time = "3"; //지난 몇일 동안?
$today_login_time = date("Y-m-d H:i:s", $g4['server_time'] - ($login_time * 86400));
//페이지
$nologin_sql = " select count(*) as cnt from $g4[member_table] where mb_today_login < '$today_login_time' ";
$nologin_row = sql_fetch($nologin_sql);
$total_count = $nologin_row[cnt];
//$nologin_rows = $config[cf_page_rows]; //환경설정에 있는 페이지
$nologin_rows = 15; //수동으로 페이지
$total_page = ceil($total_count / $nologin_rows); // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $nologin_rows; // 시작 열을 구함
//처음 출력
$nologin_sql2 = " select * from $g4[member_table] where mb_today_login < '$today_login_time' and mb_level = '3' and mb_level <> '' order by mb_today_login desc limit $from_record, $nologin_rows ";
$nologin_result2 = sql_query($nologin_sql2);
$pagelist = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
?>
<style type="text/css">
<!--
.style1 {
color: #0000FF;
font-weight: bold;
}
.style2 {color: #FF00FF}
.style3 {
color: #339900;
font-weight: bold;
}
.style4 {
font-size: 16px;
font-weight: bold;
color: #3300CC;
}
body {
margin-left: 17px;
margin-top: 17px;
}
.style6 {color: #E6E6FF; font-weight: bold; }
-->
</style>
<table width="630" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFECEC" style='border:1px solid #EEEEEE;' valign="top">
<tr height="30">
<td height="26" colspan="4" align="center"><span class="style4">3일 이상 결석한 사람 </span></td>
</tr>
<tr bordercolor="#FFCC99" bgcolor="#F4FFFF" height="30">
<td height="20" colspan="2" align="center">이름(아이디)</td>
<td width="37%" align="center">마지막로그인</td>
<td width="29%" align="center">포인트</td>
</tr>
<?
for ($i=0; $nologin = sql_fetch_array($nologin_result2); $i++) {
// 포인트 제거
//insert_point($nologin[mb_id], -$nologin[mb_point], "비로그인", "@No-login", $nologin[mb_id], $g4[time_ymd]);
?>
<tr bordercolor="#FFE1FF">
<td height="1" colspan="4" bgcolor="#EEEEEE"></td>
</tr>
<tr bordercolor="#FFE1FF" bgcolor="#FFF2E6" height="30">
<td width="4%" align="center" bordercolor="#FFE1FF"><div align="center"><span class="style6">*
</span></div></td>
<td width="30%" align="center"><div align="justify"><span class="style1">
<?=$nologin[mb_name]?>
(
<?=$nologin[mb_id]?>
)</span></div></td>
<td width="37%" align="center"><span class="style2">
<?=$nologin[mb_today_login]?>
</span></td>
<td width="29%" align="center"><span class="style3">
<?=$nologin[mb_point]?>
</span></td>
</tr>
<? } ?>
</table>
<p><?
include_once("$g4[path]/tail.sub.php");
?>
즉, 뽑기는 다 뽑아 왔는데 보이지를 않는 것으로 보이네요...
페이징 처리 부분이 빠진듯 합니다.
팁게시판에는
<p>
<?=$pagelist?>이 있는데 위에는 안보입니다...
<?=$pagelist?>를 어디에 넣어야 하지요?
<?
include_once("$g4[path]/tail.sub.php");
?>
바로 위에
$pagelist = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
를 찾아서
$pagelist = get_paging($config[cf_write_pages], $page, $total_page, "?page=");
로 바꾸어 주시면 주소줄이 좀 이뻐집니다.
감사합니다
페이지가 2쪽밖에 없는데 6쪽까지 나타나는데 이것은...
찾아서 주석처리 하시고요
넣으신 <p> <?=$pagelist?>
바로 위에다가
<?
$pagelist = get_paging($config[cf_write_pages], $page, $total_page, "?page=");
?>
넣으시고 <p> <?=$pagelist?> 는
<p align=center> <?=$pagelist?> 로 바꾸시면 종료될듯 합니다.
페이지수가 많은것은 아마도 날짜별로 중복되는 아이디의 수가 포함되어 그런듯 합니다...ㅠ.ㅠ
카운터 숫자를 세는 쿼리문
//페이지
$nologin_sql = " select count(*) as cnt from $g4[member_table] where mb_today_login < '$today_login_time' ";
$nologin_row = sql_fetch($nologin_sql);
$total_count = $nologin_row[cnt];
부분을 손봐야 하는뎅...ㅠ.ㅠ
$nologin_sql = " select count(*) as cnt from $g4[member_table] where mb_today_login < '$today_login_time' and mb_level = '3' ";
$nologin_row = sql_fetch($nologin_sql);
$total_count = $nologin_row[cnt];
//처음 출력
$nologin_sql2 = " select * from $g4[member_table] where mb_today_login < '$today_login_time' and mb_level = '3' order by mb_today_login desc limit $from_record, $nologin_rows ";
$nologin_result2 = sql_query($nologin_sql2);
두 부분 쿼리문을 바꾸어 보시겠습니까?
위의 카운터 쿼리문에 레벨 설정을 안해서 전체에서 카운터를 해서 발생한 문제 입니다.
휴일인데도 도움을 주셔서 감사합니다. 남은 연휴 뜻있게 보내시길...
행복한 날 되십시오....
페이징 처리 부분은 제가 알려드린대로 수정하시면 좀 깔끔(?)해 집니다.....^^
우측 스크롤메뉴의 링크도 길게 나옵니다...
그냥 noattendance.php 로 하셔도 좋을 듯 합니다.