웹마스터 팁

지난번에 말한것과 같이 제로보드 로그인의 독특한 구조로 outlogin.php를 include한 페이지는 mysql를 호출하는데 별도로 서버및 테이블 설정할 할 필요가 없다고 하였습니다.

그와 더불어 로그인 정보를 그페이지에서 이용할수 있다고도 하였습니다. 이게 제로보도의 매력입니다. 간혹 몇몇 사용자는 이때문에 mysql를 너무 과도하게 이용한다고 하지만 이건 크게 근거는 없습니다. 어차피 각 페이지에 sql를 이용한 프로그램들이 한번이라도 들어간다면 한번 mysql를 연다고 봐야 합니다. 아울러 게시판을 한번 열면 close까지 한번 실행합니다.

프로그램을 제작하면서 몇번이고 생각해야 될 부분들이 많이 줄어 들게 됩니다. 그래서 제로보드를 이용하면서 타 프로그램을 제작하여 운영해도 db핸드링에 고민하지 않고 몇가지 sql만 호출해서 뿌려도 문제가 없어지니 그만큼 편해 지는겁니다.

그럼 단순하게 회원 목록을 나타나게 한다면

<?
-생략-
include "outlogin"; ?>

이렇게 페이지 첫번째 줄에 선언하고
<table>
<tr><td>이름</td><td>아이디</td><td>메일</td></tr>
<?
$result=mysql_query("select * from zetyx_member_table order by no asc");
while($data=mysql_fetch_array($result))

{
?>
<tr><td><?=$data[name]?></td><td><?=$data[user_id]?></td><td><?=$data[email?></td></tr>
<?
}
?>

</table>

이렇게 하면 모든 회원의 목록이 나오게 될겁니다.
여기서 편리한점이 db설정을 하지 않았다는점입니다. 이미 outlogin.php를 include 하였기 때문에 db설정 부분을 신경쓰지 않아도 운영된다는점이 제로보드가 편리한 이유이기도 합니다.

만약 조금 응용해보면
자신일때 <본인> 이라는 글이 나오도록 하려면 타 게시판에서는 쿠키나 세션을 확인해야 되지만 제로보드는 outlogin를 include할때 이미 로그인 정보를 가지고 있기 때문에 $member의 배열과 회원목록의 배열 $data를 확인만 시키면 된다는점입니다.

그럼 위 부분을 수정해 보겠습니다.


<table>
<tr><td>이름</td><td>아이디</td><td>메일</td></tr>
<?
$result=mysql_query("select * from zetyx_member_table order by no asc");
while($data=mysql_fetch_array($result))

{
?>
<tr><td><?=$data[name]?>
<?
if ($data[user_id]==$member[user_id]){
echo "<font color=red><본인></font>";
}
?>
</td><td><?=$data[user_id]?></td><td><?=$data[email?></td></tr>
<?
}
?>

</table>

이렇게 간단하게 비교만 하면 된다는점입니다.
<?
if ($data[user_id]==$member[user_id]){
echo "<font color=red><본인></font>";
}
?>
첨가한 부분입니다. 로그인의 $member배열의 아이디와 순차적으로 불어올 회원목록 $data의 user_id만 비교하면 간단히 조건문을 넣어 해결됩니다. 이런방법으로 운영하면 쉽게 프로그램을 만들어 가면서 자기만의 홈페이지를 만들수 있습니다.


참고 -----
$result=mysql_query("select * from zetyx_member_table order by no asc");
while($data=mysql_fetch_array($result))
이렇게 하면 회원이 가입한 순차적으로 나옵니다. 그럼 반대로할때는 어떻게 할까요

$result=mysql_query("select * from zetyx_member_table order by no desc");
while($data=mysql_fetch_array($result))

이렇게 하시면 됩니다.

생일을 알아 낸다든지 주소를 비교하여 지역을 찾아 낸다든지 한는것도 별도의 프로그램이 아니고
sql로 처리한다는점도 기억해 두세요. mysql를 사용하기 때문에 sql문법은 asp든지 오라클이든지 크게 다르지 않습니다. 경험으로 비주얼베이직으로 제로보드 회원및 기타 관리를 제작하면서 느낀것이 sql은 거의 비슷하다는 점입니다.

그러니깐 sql은 한번쯤 공부해 두시면 c를 하든지 무슨 프로그램을 하셔도 똑같이 이용된다고 보시면 됩니다.
ms access에서 제로보드를 보게 되는 이유도 이 sql부분에 대한 동일된 약속들 때문입니다.

문법을 많이 활용은 해야 되지만 sql의 기본이 없다면 10스탭으로 제작할수 있는일을 몇만 step으로 제작해야 하고 0.1초에 처리 가능한 부분을 1분씩 처리하는데 차이가 있습니다.

sql마법사는 ms access에 테이블을 만들고 이러 저리 조합을 해보시면 의외의 sql 문법들이 나옵니다. 꼭 공부해 보시길 바랍니다.
제목 글쓴이 날짜
레이어 특강 1 - 큰일 나는 소스 [23] 미친개 2004.06.30
둥근테이블을 홈피에 짜고싶을때../ [12] file zEn 2004.06.28
[추천] 세로형 배너 슬라이드 [4] ⓣinⓣin™ 2004.06.24
볼륨값이 얼마나 될까? [5] PHASE 2004.06.16
[추천] 가로형 배너 슬라이드 [7] file ⓣinⓣin™ 2004.06.10
[StylishJAVA]레이어를 이용한 슬라이드 메뉴 [5] ∑Ztxy 2004.06.05
지바 애플 아날로그 시계 소스입니다... [4] 한성민 2004.06.02
간단한 감추기/펼치기 스크립트 (태터툴즈의 more 기능) [5] 나이시스 2004.05.28
왔다 갔다 이미지 스크롤 [3] 컴도미 2004.05.25
동영상을 일반 버튼으로 제어 ☺심심 2004.05.23
배너를 모자이크로 슬라이드한다! [13] ☺심심 2004.05.17
이미지 갤러리-이미지에 설명이나 이름을 같이 달아줄수 있는.. webzang 2004.05.17
클릭하거나, 바탕을 더블클릭하면 나타나는 작은(크기조절가능) 메뉴 ☺심심 2004.05.17
상태창에 머문시간 보여주기 [5] ☺심심 2004.05.05
특정위치에 떠있는 레이어 (슬라이딩 애드콘) - 노프레임홈에서의 문제해결 [8] 검미르 2004.05.03
접속할때마다 다른 이미지 띄우기 [8] ▩윤미 2004.04.30
그림파일없이 바꾸는 그라이데이션 배경색 [3] ▩윤미 2004.04.30
웹페이지에 테두리 두르기 [5] ▩윤미 2004.04.30
로딩 100% 후 페이지 이동시키기 [1] ▩윤미 2004.04.30
특정부분을 원클릭에 copy 또는 선택하기 [3] ▩윤미 2004.04.30