웹마스터 팁

오늘은 게시판 목록 보기 마지막 시간이네요.
list.php 소스 93행부터 끝까지 설명드리겠습니다.

먼저 아래 111행을 주의깊게 봐주세요.
list.php?page=1으로 링크하도록 프로그래밍되어 있습니다.
page라는 변수에 1을 대입한 다음 list.php를 실행하라는 의미겠죠. 이렇게 되면 list.php 파일이 실행될 때 page 변수, 즉 $page에 1을 대입하게 됩니다.

현재 주소 표시줄을 한번 보세요. http://www.itmembers.net/board/view.php?id=php&page=1&sn1=&divpage=1...... 이런 식으로 되어 있죠?
id는 php, page는 1, sn1은 없고, divpage는 1.... 이런 식으로 변수 값을 가지고 view.php를 실행한다는 뜻입니다. 여러 개의 변수(파라미터)들을 사용할 때는 가운데 &기호를 써서 분리합니다.

아래 소스는 결국 page 변수에 어떤 값을 넘겨주느냐를 결정하기 위한 프로그램입니다.
111행에는 page에 1을 대입하고 112행에서는 page에 $prev를 대입했습니다. 118행에서는 $go_page를, 140행에서는 $next를 대입했습니다.
그러면 결국 $prev, $go_page, $next 등이 무엇을 의미하는지만 알면 아래 소스를 가볍게 이해할 수 있겠죠?



96행은 게시판의 전체 블록 수를 구하는 방법입니다. 전체 페이지 수에서 한 화면에 보여 줄 페이지 수를 나눈 값의 올림 수를 구한 것입니다.
블록이 뭔지 이해가 잘 안되시면 아래 도표를 보면 좀 이해가 되실 겁니다.

예를 들어, 전체 글의 수가 225개라고 가정합시다. 그러면 첫 화면에는 이렇게 보여야 됩니다.

[1][2][3][4][5][6][7][8][9][10][다음][10개 뒤][마지막]

한 페이지에 10개의 페이지만 바로갈 수 있게 되어 있습니다. 이렇게 10개를 하나의 블록이라고 할 수 있습니다. 그러면 다음 블록으로 넘어가려면 어떻게 해야될까요? [10개 뒤]를 누르면 다음 블록으로 넘어간다고 가정합시다.
[10개 뒤]를 클릭하면 아래와 같이 되겠죠.

[처음][이전][10개 앞][11][2][13][14][15][16][17][18][19][20][다음][10개 뒤][마지막]

여기서 다시 [10개 뒤]를 누르면, 아래와 같이 나와야 되겠죠.

[처음][이전][10개 앞][21][22][23][다음]

도표로 정리하면 이렇게 되겠죠.


99와 100행에서는 블록의 처음과 마지막 페이지 번호를 구하는 식입니다.
그런데 실제 계산해 보면 제1블록일 때 $block의 값이 0이 됩니다. 그리고 제2블록일 때 10이, 제3블록일 때 20이 됩니다. 위의 도표와 다르죠.
그러나 122행에서 실제 사용될 때는 +1을 해서 사용하게 됩니다. 그러면 위의 도표와 맞아 떨어집니다.

기타 나머지 부분도 소스를 보면서 하나하나 이해해야 합니다. 제가 이리저리 아무리 길게 설명해도 스스로 이해하지 못하면 아무런 소용이 없습니다.
실제 프로그램을 실행시켜가면서 위의 소스를 반복해서 보다가 보면 조금씩 이해가 될 겁니다.

당장 이해가 안된다고 포기하지 마세요~~~ (그래도 이해가 안되면 그냥 베껴서 쓰면 되죠 뭐...^^)

이상, 동주아빠 손병목이었습니다.

제목 글쓴이 날짜
[동주아빠] PHP 게시판(27강) - 수정(modify_ok.php) 손병목 2003.01.11
[동주아빠] PHP 게시판(26강) - 수정(modify.php) 손병목 2003.01.11
웹서핑중 구했습니다. 조그만 달력.. [6] file 황선규 2003.01.10
[1분짜리 팁] 절대경로 알아내기! [14] 찐군 2003.01.09
access 자료(mdb) 를 MySQL로 변환하는 방법 [8] 황선규 2003.01.06
[동주아빠] PHP 게시판(25강) - 내용 보기 기능(3) 설명 [1] 손병목 2003.01.04
[동주아빠] PHP 게시판(24강) - 내용 보기 기능(2) view.php 소스 file 손병목 2003.01.04
[동주아빠] PHP 게시판(23강) - 내용 보기 기능(1) view.php 디자인 손병목 2003.01.04
국내 IP정보를 조회하는 클래스 [7] 행복한고니 2003.01.04
이미지를 HTML table tag로 변환. [7] file 민이 2002.12.31
SQL질의어를 DB에 입력하는 팁 [4] 최후의성전 2002.12.31
[동주아빠] PHP 게시판(22강) - 목록 보기(5) list.php 설명(下) [1] 손병목 2002.12.30
[동주아빠] PHP 게시판(21강) - 목록 보기(4) list.php 설명(中) 손병목 2002.12.30
[동주아빠] PHP 게시판(20강) - 목록 보기(3) list.php 설명(上) 손병목 2002.12.30
[동주아빠] PHP 게시판(19강) - 목록 보기(2) list.php 소스 [3] file 손병목 2002.12.29
[동주아빠] PHP 게시판(18강) - 목록 보기(1) list.php 화면 디자인 손병목 2002.12.29
[추천 강의] NZEO.COM 에서 쓰는 북마크 구현하기 [5] 東氣號太 2002.12.28
폼메일 --- 제로님 예전 폼메일 수정 변경.. [11] uropa™ 2002.12.27
[추천 강의] [설명] 304번 글에 대한 설명입니다. [5] [콜록]토끼군 2002.12.25
[동주아빠] PHP 게시판(17강) - 저장 후 페이지 이동 손병목 2002.12.25