검색어 : 운영자, 정렬기능, 회원정렬, 관리자 페이지, 소트기능
결국 만들었습니다....ㅜ.ㅜ ☜감동의 눈물
회원이 많아서 관리하기 힘들었던 분들께 도움이 될 것이라 믿고, 버그가 많을지도 모르는 팁을 올려봅니다.
admin_view_member.php에 새로운 변수 $admin_arrange, $admin_desc를 이용하여 정렬기능을 만들어봤습니다.
① "// 검색어에 대하여 처리" 라는 부분이 있습니다. 그 위에 다음과 같이 추가합니다.
// 정렬을 위한 변수들 처리
if(!$admin_arrange) $admin_arrange="no";
if(!$admin_desc) $admin_desc="desc";
$admin_href="page=$page"."&keykind=$keykind"."&keyword=$keyword"."&like=$like"."&group_no=$group_no"."&exec=$exec"."&page_num=$page_num";
② 중간에 멤버 정보를 다른 정렬조건으로 가져올 수 있도록 수정합니다.
// 멤버정보를 구해옴
$result=@mysql_query("select * from $member_table $s_que order by no desc limit $start_num,$page_num",$connect) or Error(mysql_error(),"");
이 부분을 보면 "no" 필드값을 기준으로 "desc" 순서로 정렬하도록 되어있습니다.
"$admin_arrange"을 기준으로 "$admin_desc" 순서로 정렬하도록 다음과 같이 수정합니다.
// 멤버정보를 구해옴
$result=@mysql_query("select * from $member_table $s_que order by $admin_arrange $admin_desc limit $start_num,$page_num",$connect) or Error(mysql_error(),"");
③ 테이블의 맨 위 인덱스에 해당하는 부분을 클릭하면 새 정렬조건으로 페이지를 불러들이도록 다음과 같이 링크를 걸어줍니다.
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>번호</td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;><a href=.javascript onclick="return select();">선택</a></td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>유저명</td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>이름</td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>레벨</td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>점수</td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>가입일자</td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>수정</td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>삭제</td>
이런 부분을 다음과 같이 수정합니다. 같은 조건으로 다시 정렬을 요구하면 역순으로 하도록 분기문을 사용했습니다.
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;><a href=<?echo "$PHP_SELF?$admin_href&admin_arrange=no&admin_desc="; if($admin_arrange=="no"&&$admin_desc=="desc") echo "asc"; else echo "desc"?>>번호</a></td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;><a href=.javascript onclick="return select();">선택</a></td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;><a href=<?echo "$PHP_SELF?$admin_href&admin_arrange=user_id&admin_desc="; if($admin_arrange=="user_id"&&$admin_desc=="desc") echo "asc"; else echo "desc"?>>유저명</a></td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;><a href=<?echo "$PHP_SELF?$admin_href&admin_arrange=binary(name)&admin_desc="; if($admin_arrange=="binary(name)"&&$admin_desc=="desc") echo "asc"; else echo "desc"?>>이름</a></td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;><a href=<?echo "$PHP_SELF?$admin_href&admin_arrange=level&admin_desc="; if($admin_arrange=="level"&&$admin_desc=="desc") echo "asc"; else echo "desc"?>>레벨</a></td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;><a href=<?echo "$PHP_SELF?$admin_href&admin_arrange=point1&admin_desc="; if($admin_arrange=="point1"&&$admin_desc=="desc") echo "asc"; else echo "desc"?>>점수</a></td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;><a href=<?echo "$PHP_SELF?$admin_href&admin_arrange=reg_date&admin_desc="; if($admin_arrange=="reg_date"&&$admin_desc=="desc") echo "asc"; else echo "desc"?>>가입일자</a></td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>수정</td>
<td style=font-family:Tahoma;font-size:8pt;font-weight:bold;>삭제</td>
④ 페이지를 넘기더라도 $admin_arrange, $admin_desc 의 값을 넘겨주도록 페이지 맨 아랫부분의 링크도 고쳐줍니다.
else echo"<a href=$PHP_SELF?exec=$exec&group_no=$group_no&page=$move_page$href><font color=#ffffff>[$move_page]</font></a>";
이렇게 된 부분을 다음과 같이 수정합니다.
else echo"<a href=$PHP_SELF?exec=$exec&group_no=$group_no&page=$move_page$href&admin_arrange=$admin_arrange&admin_desc=$admin_desc><font color=#ffffff>[$move_page]</font></a>";
자~ 이제 다 끝났네요!
관리자 페이지를 수정하여 기타 다른 항목이 있는 경우에도 ③번을 요령껏 수정하시면 될 것입니다.(저는 학번 커뮤니티를 운영하는데, 학번과 출석번호를 기준으로도 정렬할 수 있도록 수정했습니다.)
검색어가 있는 경우에도 작동하는 것 확인했는데, 버그나 개선할 점 있으면 꼭 지적해주세요!
옳거니~ 그렇구먼~!
꺾쇠
// 허 샴 봉
// 정렬을 위한 변수들 처리
if(!$admin_arrange) $admin_arrange="no";
if(!$admin_desc) $admin_desc="desc";
$admin_href="page=$page"."&keykind=$keykind"."&keyword=$keyword"."&like=$like"."&group_no=$group_no"."&exec=$exec"."&
가 잘못된 것 같네요.
// 정렬을 위한 변수들 처리
if(!$admin_arrange) $admin_arrange="no";
if(!$admin_desc) $admin_desc="desc";
$admin_href="page=$page"."&keykind=$keykind"."&keyword=$keyword"."&like=$like"."&group_no=$group_no"."&exec=$exec"."&page_num=$page_num";
요걸 복사해 붙이세요.
아주 잘 됩니다.
그리고 위 소스는 삭제해 주시는 게 좋을 듯.. 2005-02-04
02:21:48
허샴봉
감사합니다. 일단 페이지는 잘 나오는데요...
관리자페이지에서 어떤부분이 변경된건가요???....
생초보라 걍 막 따라하다보니...ㅎㅎㅎ 2005-02-04
03:20:18
Mahler83
//허샴봉
회원관리 페이지에서 번호, 유저명, 이름 등과 같은 항목을 클릭하면 정렬해서 새로 출력해줍니다.
다시 클릭하면 역순으로 정렬되고요.. 2005-02-04
11:13:45
허샴봉
일단 추천 한번 꾸욱~ 멋지네요...^^
한가지만 더 여쭈어 보자면...기능은 다 정상인데요...
번호 선택 유저명 이름 레벨 점수 가입일자 수정글자가 왼쪽으로 정렬되 있더군요...
원래처럼 가운데로 할순 없을까요?
너무 많이 물어보네요~^^;; 2005-02-04
12:05:22
Mahler83
허샴봉//
③ 내용을 수정하면서 그 위에 있던 내용까지 날려버리신 것 같군요.
<tr align=center height=25 bgcolor=#a0a0a0>을 그 위에 추가해주세요. 2005-02-04
12:36:27
허샴봉
그렇군요....
친절한 설명 감사드립니다. 2005-02-04
16:11:19
무지개
훌륭합니다...정렬기능 끝내주네요~ ^^
추천 한표~ 2005-02-06
12:43:05
검마르
아주 유용하게 잘 사용하고 있습니다.
다음이 아니라... 점수로 정렬을 하고자 할때
(point1 *10 + point2 +point3)의 합으로 정렬을 하려면 어찌해야하는지요? 2005-02-08
00:48:10
Mahler83
검마르//
저도 사실 그걸 몰라서 point1로 정렬을 해버렸습니다.
작성한 글 수가 같은 경우는 거의 없어서 큰 불편을 느끼지는 못했지만, 저도 그 부분은 보완하고 싶네요.
다른 고수분들의 도움 부탁드립니다~ 2005-02-08
01:44:25
keymove
좋은 팁 감사합니다.^^