로그인한 날짜가 정해진 숫자 이상일 경우는 어떻게 뽑는지요 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

로그인한 날짜가 정해진 숫자 이상일 경우는 어떻게 뽑는지요 정보

로그인한 날짜가 정해진 숫자 이상일 경우는 어떻게 뽑는지요

본문

깜찍한악마님의 '로그인하지 않은 회원뽑기' 팁을 사용 중인데요
 
 
로그인하지 않은 회원을 뽑을 때 3일을 지정했더니 로그인하지 않은 날이 4일이상 되는 회원은 뽑아내지 않더군요. 
 
로그인하지 않은 날이 3일 이상이라고 하면 로그인하지 않은 날이 4일이 되어도 뽑아 낼 것 같은데 소스를 몰라서 그러니 가르쳐 주셨으면 고맙겠습니다. 
 
사용중인 곳 
 
사용소스
<?
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);
        .
        .
        .
        .
 

댓글 전체

소스입니다
<?
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 = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");

를 찾아서

$pagelist = get_paging($config[cf_write_pages], $page, $total_page, "?page=");

로 바꾸어 주시면 주소줄이 좀 이뻐집니다.
$pagelist = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");

찾아서 주석처리 하시고요

넣으신 <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 로 하셔도 좋을 듯 합니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT