최신 로그인 기록 도와 주세요....... 정보
최신 로그인 기록 도와 주세요.......본문
처음 질문은요!
tail.sub.php 에서요 최근 로그인
// 시간이 지난 접속은 삭제한다
아래 쪽이요....
관리자 페이지에서 보면
최근접속일 2008-05-10 01:00:36
표시되고 그사람이 낮에나 밤에 또 접속을 하여도
계속 같은 시간만 표시되서요...
다음날은 상관없이 표시되는데...
30분 또는 실시간 표시되는 방법은 없을까요?
<?
$tmp_sql = " select count(*) as cnt from $g4[login_table] where lo_ip = '$_SERVER[REMOTE_ADDR]' ";
$tmp_row = sql_fetch($tmp_sql);
//sql_query(" lock table $g4[login_table] write ", false);
if ($tmp_row['cnt'])
{
$tmp_sql = " update $g4[login_table] set mb_id = '$member[mb_id]', lo_datetime = '$g4[time_ymdhis]', lo_location = '$lo_location', lo_url = '$lo_url' where lo_ip = '$_SERVER[REMOTE_ADDR]' ";
sql_query($tmp_sql, FALSE);
}
else
{
$tmp_sql = " insert into $g4[login_table] ( lo_ip, mb_id, lo_datetime, lo_location, lo_url ) values ( '$_SERVER[REMOTE_ADDR]', '$member[mb_id]', '$g4[time_ymdhis]', '$lo_location', '$lo_url' ) ";
sql_query($tmp_sql, FALSE);
// 시간이 지난 접속은 삭제한다
sql_query(" delete from $g4[login_table] where lo_datetime < '".date("Y-m-d H:i:s", $g4[server_time] - (60 * $config[cf_login_minutes]))."' ");
// 부담(overhead)이 있다면 테이블 최적화
//$row = sql_fetch(" SHOW TABLE STATUS FROM `$mysql_db` LIKE '$g4[login_table]' ");
//if ($row['Data_free'] > 0) sql_query(" OPTIMIZE TABLE $g4[login_table] ");
}
//sql_query(" unlock tables ", false);
?>
---------------------------------------------------------
두번째 질문은요....
회원 리스트를 아래 소스로 랜덤 출력하는데요
최근 로그인한 사람 1등부터 30등 사이에만 랜덤으로 출력하는 방법을 잘 모르겠네요..
30등이상은 그냥 로그인 순서대로 두고요....
//랜덤으로 리스트 출력
$sql = " select * from $g4[member_table] where mb_today_login order by rand() ";
$row = sql_fetch($sql);
$sql_order = " order by rand() ";
도와 주실분 미리 감사드려요....
행복하세요
tail.sub.php 에서요 최근 로그인
// 시간이 지난 접속은 삭제한다
아래 쪽이요....
관리자 페이지에서 보면
최근접속일 2008-05-10 01:00:36
표시되고 그사람이 낮에나 밤에 또 접속을 하여도
계속 같은 시간만 표시되서요...
다음날은 상관없이 표시되는데...
30분 또는 실시간 표시되는 방법은 없을까요?
<?
$tmp_sql = " select count(*) as cnt from $g4[login_table] where lo_ip = '$_SERVER[REMOTE_ADDR]' ";
$tmp_row = sql_fetch($tmp_sql);
//sql_query(" lock table $g4[login_table] write ", false);
if ($tmp_row['cnt'])
{
$tmp_sql = " update $g4[login_table] set mb_id = '$member[mb_id]', lo_datetime = '$g4[time_ymdhis]', lo_location = '$lo_location', lo_url = '$lo_url' where lo_ip = '$_SERVER[REMOTE_ADDR]' ";
sql_query($tmp_sql, FALSE);
}
else
{
$tmp_sql = " insert into $g4[login_table] ( lo_ip, mb_id, lo_datetime, lo_location, lo_url ) values ( '$_SERVER[REMOTE_ADDR]', '$member[mb_id]', '$g4[time_ymdhis]', '$lo_location', '$lo_url' ) ";
sql_query($tmp_sql, FALSE);
// 시간이 지난 접속은 삭제한다
sql_query(" delete from $g4[login_table] where lo_datetime < '".date("Y-m-d H:i:s", $g4[server_time] - (60 * $config[cf_login_minutes]))."' ");
// 부담(overhead)이 있다면 테이블 최적화
//$row = sql_fetch(" SHOW TABLE STATUS FROM `$mysql_db` LIKE '$g4[login_table]' ");
//if ($row['Data_free'] > 0) sql_query(" OPTIMIZE TABLE $g4[login_table] ");
}
//sql_query(" unlock tables ", false);
?>
---------------------------------------------------------
두번째 질문은요....
회원 리스트를 아래 소스로 랜덤 출력하는데요
최근 로그인한 사람 1등부터 30등 사이에만 랜덤으로 출력하는 방법을 잘 모르겠네요..
30등이상은 그냥 로그인 순서대로 두고요....
//랜덤으로 리스트 출력
$sql = " select * from $g4[member_table] where mb_today_login order by rand() ";
$row = sql_fetch($sql);
$sql_order = " order by rand() ";
도와 주실분 미리 감사드려요....
행복하세요
댓글 전체
첫째: 보여 주신 소스는 login테이블이고 실시간으로 바뀝니다.
관리자에서 본 테이블은 visit 테이블인 듯합니다.
둘째: 기존 순서 대로가져 온 다음
30위 안에 것만
http://kr2.php.net/manual/en/function.shuffle.php
이용해서 섞으시면 되겠네요.
관리자에서 본 테이블은 visit 테이블인 듯합니다.
둘째: 기존 순서 대로가져 온 다음
30위 안에 것만
http://kr2.php.net/manual/en/function.shuffle.php
이용해서 섞으시면 되겠네요.