정중히 부탁드립니다. 포인트랭킹에서의 검색질문입니다. > 그누4 질문답변

그누4 질문답변

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

정중히 부탁드립니다. 포인트랭킹에서의 검색질문입니다. 정보

정중히 부탁드립니다. 포인트랭킹에서의 검색질문입니다.

본문

먼저 제가 사용하고 있는 포인트랭킹입니다.
바로가기는 :
http://www.ks7.net/gnuboard4/extend/page/point_lank.php 입니다.
아래는 소스입니다.
======================
<?
$g4_path = "../..";
include_once ("$g4_path/common.php");
include_once("$g4[path]/head.php");
// 회원레벨별 제한
//if($member[mb_level] <= 2) { //8레벨이하는 홈페이지 메인으로 튕겨주기*^^*
//alert("로그인 하시면 달란트 획득과 함께 페이지를 보실 수 있습니다.", $g4[path]);
//}
define("_CO_POINT_RANK_", TRUE);

$html_title = "포인트순위";
$g4[title] = "" . $html_title;
include_once("$g4[path]/_head.php");

echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
?>

<table width=100% align=center border=0 cellspacing=0 cellpadding=1>
<tr><td valign=top colspan=2 class=lh bgcolor=cccccc>

<table width=100% bgcolor=ffffff cellspacing=0 cellpadding=19><tr><td valign=absmiddle>
<?
if ($member[mb_id])
{
    $sql = " select count(mb_id) as cnt from $g4[member_table]
              where mb_point >= '$member[mb_point]' order by mb_point desc ";
    $row = sql_fetch($sql);
    echo "&middot; 현재 $member[mb_name] 회원님의 포인트 순위는 대략(?) <B>".number_format($row[cnt])."등</B> 입니다.";
echo "<br>&middot; 번호는 포인트 획득순입니다.";

}

$sql = " select sum(mb_point) as sum_point from $g4[member_table]";
$row = sql_fetch($sql);
$sum_point = $row[sum_point];
echo "<br>&middot; 전체 포인트 : <B>".number_format($sum_point) . "점</b>.<br><br>&middot; <font color=blue>TIP</font> : 이곳에 이름이 있으면 회원등록이 된것임. 이름에 마우스 올려보면 아이디가 나타남. <font color=red>검색시 [<b>Ctrl+F</b>] 키사용</font>";

echo "</td></tr></table></td></tr></table>";
echo "<table width=100%><tr><td valign=top width=''>";


$sql = " select count(*) as cnt from $g4[member_table]";
$row = sql_fetch($sql);
$total_count = $row[cnt];

$rows = 280;
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

$mod = 70;

$sql = " select * from $g4[member_table]
where mb_id <> '$config[cf_admin]'
          order by mb_point desc, mb_today_login desc
          limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
    if ($i && $i%$mod==0)
        echo "</td><td width=2 bgcolor=cccccc></td><td valign=top>";

    $rank = (($page - 1) * $rows) + $i + 1;

    $name = get_sideview($row[mb_id], $row[mb_name], $row[mb_email], $row[mb_homepage]);
    $point = number_format($row[mb_point]);
    echo "<table width=98% cellpadding=0 align=center class=box border=0><tr>";
    echo "<td height=30>$rank. $name</td>";
    echo "<td align=right><font color=777777>{$point}점</font></td>";
    echo "</tr></table>";
    echo "<table width=100%><tr><td></td></tr></table>";
}
?>
</td></tr>
</table>
<table width=100%>
<form name=fsearch method=get>
<tr>
    <td width=50% align=left><?=$listall?> (총회원수 : <?=number_format($total_count)?>, <font color=orange>차단 : <?=number_format($intercept_count)?></font>, <font color=crimson>탈퇴 : <?=number_format($leave_count)?></font>)</td>
    <td width=50% align=right>
        <select name=sfl class=cssfl>
            <option value='mb_id'>회원아이디</option>
            <option value='mb_name'>이름</option>
            <option value='mb_nick'>별명</option>
            <option value='mb_email'>E-MAIL</option>
            <option value='mb_tel'>전화번호</option>
            <option value='mb_hp'>핸드폰번호</option>
        </select>
        <input type=text name=stx required itemname='검색어' value='<? echo $stx ?>'>
        <input type=image src='<?=$g4[admin_path]?>/img/btn_search.gif' align=absmiddle></td>
</tr>
</form>
</table>

<?
$page = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
echo "<p><table width=100% cellpadding=0 cellspacing=0><tr><td align=center>$page</td></tr></table><br><br>";

include_once("$g4[path]/_tail.php");
?>
============================================

아래는 앞전에 질문을 드렸던 원본입니다.
아무도 가르침을 하사하지 않으셨기에 재차 올릴 수 밖에 없음을 용서하십시요.
============================================
수고 하십니다...다들...
포인트랭킹 페이지로 전회원을 나타내 보이고 있습니다.
관리자가 아닌 일반회원에게 전체회원(동창회사이트거든요...^^)의 명단리스트를 보여줄 방법은 이것밖에 안떠오르더군요...그래서 이것을 쓰고 있는데요...
검색폼을 어떻게 적용할 지 몰라 맨위에 빨강글씨로 설명했죠...Ctrl+F로 자기이름 찾으라고...
이렇게 하다보니 1페이지에 전회원의 명단이 다 나와야 되니 스크롤압박감도 줘야하고..
부끄러워 죽겠습니다.
아래의 소스를 어찌 적용하면(/adm/member_list.php 속에 있던 폼을 오려와서...) 어찌 되겠는데..
그래서 맨 아래 붙여서 함 해 봤는데도 안되더군요...
도와 주시기 바랍니다.
<table width=100%>
<form name=fsearch method=get>
<tr>
    <td width=50% align=left><?=$listall?> (총회원수 : <?=number_format($total_count)?>, <font color=orange>차단 : <?=number_format($intercept_count)?></font>, <font color=crimson>탈퇴 : <?=number_format($leave_count)?></font>)</td>
    <td width=50% align=right>
        <select name=sfl class=cssfl>
            <option value='mb_id'>회원아이디</option>
            <option value='mb_name'>이름</option>
            <option value='mb_nick'>별명</option>
            <option value='mb_email'>E-MAIL</option>
            <option value='mb_tel'>전화번호</option>
            <option value='mb_hp'>핸드폰번호</option>
        </select>
        <input type=text name=stx required itemname='검색어' value='<? echo $stx ?>'>
        <input type=image src='<?=$g4[admin_path]?>/img/btn_search.gif' align=absmiddle></td>
</tr>
</form>
</table>

링크는 제가 운영중인 동창회 사이트의 포인트랭크입니다
  • 복사

댓글 전체

<?
//1. bbs/point_lanking.php 으로 저장하십시요.



$g4_path = "..";
include_once ("$g4_path/common.php");
include_once("$g4[path]/head.php");
// 회원레벨별 제한
//if($member[mb_level] <= 2) { //8레벨이하는 홈페이지 메인으로 튕겨주기*^^*
//alert("로그인 하시면 달란트 획득과 함께 페이지를 보실 수 있습니다.", $g4[path]);
//}
define("_CO_POINT_RANK_", TRUE);

$html_title = "포인트순위";
$g4[title] = "" . $html_title;
include_once("$g4[path]/_head.php");

echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
?>

<table width=100% align=center border=0 cellspacing=0 cellpadding=1>
<tr><td valign=top colspan=2 class=lh bgcolor=cccccc>

<table width=100% bgcolor=ffffff cellspacing=0 cellpadding=19><tr><td valign=absmiddle>
<?
if ($member[mb_id])
{
    $sql = " select count(mb_id) as cnt from $g4[member_table]
              where mb_point >= '$member[mb_point]' order by mb_point desc ";
    $row = sql_fetch($sql);
    echo "&middot; 현재 $member[mb_name] 회원님의 포인트 순위는 대략(?) <B>".number_format($row[cnt])."등</B> 입니다.";
echo "<br>&middot; 번호는 포인트 획득순입니다.";

}

$sql = " select sum(mb_point) as sum_point from $g4[member_table]";
$row = sql_fetch($sql);
$sum_point = $row[sum_point];
echo "<br>&middot; 전체 포인트 : <B>".number_format($sum_point) . "점</b>.<br><br>&middot; <font color=blue>TIP</font> : 이곳에 이름이 있으면 회원등록이 된것임. 이름에 마우스 올려보면 아이디가 나타남. <font color=red>검색시 [<b>Ctrl+F</b>] 키사용</font>";

echo "</td></tr></table></td></tr></table>";
echo "<table width=100%><tr><td valign=top width=''>";

$sql = " select count(*) as cnt from $g4[member_table]";
$row = sql_fetch($sql);
$total_count = $row[cnt];

$rows = 280;
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$mod = 70;

######################################################
$detail_search=false;
if($sfl =='mb_name' && $stx !='')
{$sql = " select * from $g4[member_table] 
          where mb_name='$stx' and mb_id <> '$config[cf_admin]'
          order by mb_point desc, mb_today_login desc limit $from_record, $rows ";
          $detail_search=true;
}else if($sfl =='mb_id' && $stx !='')
{$sql = " select * from $g4[member_table] 
          where mb_id='$stx' and mb_id <> '$config[cf_admin]'
          order by mb_point desc, mb_today_login desc limit $from_record, $rows ";
          $detail_search=true;
}else if($sfl =='mb_nick' && $stx !='')
{$sql = " select * from $g4[member_table] 
          where mb_nick='$stx' and mb_id <> '$config[cf_admin]'
          order by mb_point desc, mb_today_login desc limit $from_record, $rows ";
          $detail_search=true;
}else if($sfl =='mb_email' && $stx !='' )
{$sql = " select * from $g4[member_table] 
          where mb_email='$stx' and mb_id <> '$config[cf_admin]'
          order by mb_point desc, mb_today_login desc limit $from_record, $rows ";
          $detail_search=true;
}else if($sfl =='mb_tel' && $stx !='')
{$sql = " select * from $g4[member_table] 
          where mb_tel='$stx' and mb_id <> '$config[cf_admin]'
          order by mb_point desc, mb_today_login desc limit $from_record, $rows ";
  $detail_search=true;
}else if($sfl =='mb_hp' && $stx !='')
{$sql = " select * from $g4[member_table] 
          where mb_hp='$stx' and mb_id <> '$config[cf_admin]'
          order by mb_point desc, mb_today_login desc limit $from_record, $rows ";
          $detail_search=true;
}else if($sfl =='' || $stx ==''){
 $sql = " select * from $g4[member_table]  where mb_id <> '$config[cf_admin]'
          order by mb_point desc, mb_today_login desc limit $from_record, $rows ";
          $detail_search=false;
 }
##########################################2006.02.14 dalsoo##
$result = sql_query($sql);


for ($i=0; $row=sql_fetch_array($result); $i++)
  { 
//검색결과가 있고//전체검색이 아니면
    if($result && $detail_search==true) { $listcolor='#DEEBF3';} 
//자신의 아이디면
else if($row[mb_id]==$member[mb_id]) {$listcolor='#FFE8C0';}
//이도저도아니면
else{$listcolor='#f8f8f9';}
    if ($i && $i%$mod==0)
        echo "</td><td width=2 bgcolor=cccccc></td><td valign=top>";
    $rank = (($page - 1) * $rows) + $i + 1;
    $name = get_sideview($row[mb_id], $row[mb_name], $row[mb_email], $row[mb_homepage]);
    $point = number_format($row[mb_point]);
    echo "<table width=98% cellpadding=0 align=center class=box border=0 bgcolor='$listcolor';><tr>";
    echo "<td height=30>$rank. $name</td>";
    echo "<td align=right><font color=777777>{$point}점</font></td>";
    echo "</tr></table>";   
    echo "<table width=100% align='center'><tr><td></td></tr></table>";
}
?>
</td></tr>
</table>
<table width=100%>

 <form name=fsearch method=get style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<!--input type=hidden name=sca      value="<?=$sca?>"-->
<table width=100% cellpadding=0 cellspacing=0>               
<tr>
<td width="50%" height="40">
<?=$listall?> (총회원수 : <?=number_format($total_count)?>, <font color=orange>차단 : <?=number_format($intercept_count)?></font>, <font color=crimson>탈퇴 : <?=number_format($leave_count)?></font>)
</td>
<td width="50%" align="right">
<select name=sfl>    
    <option value='mb_name'>이름</option>
<option value='mb_id'>회원아이디</option>
<option value='mb_nick'>별명</option>
<option value='mb_email'>E-MAIL</option>
<option value='mb_tel'>전화번호</option>
<option value='mb_hp'>핸드폰번호</option>
</select><input name=stx maxlength=15 size=10 itemname="검색어" value="">
<!-- =$member[mb_name]-->
<input type=image src="<?=$g4[admin_path]?>/img/btn_search.gif" border=0 align=absmiddle></td>
</tr>
</table>
 </form>
 <?
  $page = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
  echo "<p><table width=100% cellpadding=0 cellspacing=0><tr><td align=center>$page</td></tr></table><br><br>";
  include_once("$g4[path]/_tail.php");
 ?>
<!-- ----------------------------------------->
<table width="100%" cellpadding=0 cellspacing=0><tr><td valign=top>
<?
//2. 포인트순위 링크는 아래와같습니다.
echo"<a href='$g4[bbs_path]/point_lanking.php'>포인트순위</a><br>";
echo"<a href='$g4[bbs_path]/point_lanking.php?&sca=&sfl=mb_id&stx=$member[mb_id]'>내포인트보기</a><br>";
?></td></tr></table>
<!-- ------------------------------------------->
lank(호리호리한, 나긋나긋한. 여기서는 후자의 의미 부여) style의 팁이 맞는데요 뭘~*^^*

즉, '질문자의 요청'에 대해 나긋나긋한 서비스를 부여하는 답변용 팁이라는 의미.
잘 됩니다...정말 잘 됩니다.
감사에 감사를 거듭 드립니다.
이 문제에 대하여 최초 질문글 올리고 근 2개월여 만에 희소식을 접했군요...
가까운데 계신분이면 쇠주라도 한잔 사 드리고 싶군요.
열심히 하겠습니다.
ㅡ.ㅡㅋㅋ
풀어가는 과정은 개인마다 많이 틀리겠죠..
이 글처럼 질문이 명확 할 때는 답변을 하면 머리가 맑아집니다.
말씀이라도 고맙습니다.
벌써..취하는데요^^;;
© SIRSOFT
현재 페이지 제일 처음으로