웹마스터 팁

지난번에 말한것과 같이 제로보드 로그인의 독특한 구조로 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 문법들이 나옵니다. 꼭 공부해 보시길 바랍니다.
제목 글쓴이 날짜
갓난아기 상태의 제로보드 유저를 위한 팁. [2] font 2008.04.01
DIV라운드 박스를 제로보드 스킨에 적용하는 방법 [4] file 팔공산 2008.04.09
제로보드 설치 후 뭘 어떻해야 할지 깜깜할때 dharma0999 2008.04.09
엑소버드 음악 제로보드XE에 구겨넣기... [8] artlab 2008.04.17
제로보드XE에 배경음악 달기 [4] Dr.Mabin 2008.04.26
제로보드에 BGM 달기 (대폭 수정;;) [5] Dr.Mabin 2008.04.27
제로보드 XE에서 파비콘(favicon) 만들기 [8] file tindrum 2008.05.26
제로보드와 플래시 게시판 연동해서 사용하기 [5] Park Ki-tae 2008.05.30
제로보드4 스타일 이전글/다음글 구현하기 (라르게덴님 팁 재탕) [12] file 老姜君 2008.05.30
외부페이지 접근을 제로보드XE를 통해서만 접근을 허용 하고 싶다면 [9] 임기택924 2008.06.03
주소창에 보이는 아이콘 넣기..제로보드 XE에서 [2] file 은바가지 2008.07.03
제로보드XE에서 표 쉽게 만드는 방법.. [23] 청개구리00 2008.07.27
제로보드XE 설치 완료버튼 누르니까 My sql 관련 내용 나오던데요 [3] Naver™ 2008.07.30
제로보드 문자열 정교하게 자르기 [11] 젝망치 2008.08.03
제로보드 첨부파일 [4] 아싸수리 2008.09.19
제로보드XE 중복설치방법 있나요? [4] bsy.myid.net 2008.09.24
VPN 환경에서 제로보드 [4] superion 2008.09.26
제로보드XE에 온클럽(onclub) 달기 (UTF-8 문제) 맛있는고기 2008.10.07
제로보드XE가입 -> 트랙자동가입 기능 개돌 2008.10.14
제로보드(zbxe) 설치 후 로그인 안되는 문제. [3] sophistlv.myid.net 2008.10.15