SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
간단한 방명록 제작



웹 데이터 베이스
서비스 정의
• 사이트에 방문한 방문객으로 하여금 간단한 글을
  남기게 한다.
• 한 페이지당 보여지는 게시물은 5개
    • 페이지 이동을 위한 버튼 제공
• 누구나 글을 볼 수 있다.
• 글을 쓰기 위해서는 사용자명을 입력한다.
• 게시물에 대해 암호를 주어 해당 암호를 알고 있
  으면 삭제할 수 있다.




한림대학교 웹데이터베이스 - 이윤환
TABLE
CREATE TABLE gbook (
      gb_id        int unsigned NOT NULL
                   AUTO_INCREMENT PRIMARY KEY,
      writer       varchar(50)   NOT NULL,
      regDate            datetime     NOT NULL,
      comments           text         NOT NULL,
      userpwd            char(41)     NOT NULL
);




한림대학교 웹데이터베이스 - 이윤환
설정파일(CONF.PHP)
DB 연결 정보 저장
DB 연결
  <?php
  $host = "localhost";
  $user = "testUser";
  $password = "test1234";
  $db = "testdb";
  $conn = mysql_connect($host, $user,
  $password);
  if(!mysql_select_db($db)) {
      die("DB Connectio failed : " .
  mysql_error() );
  }
  ?>
한림대학교 웹데이터베이스 - 이윤환
글쓰기 FORM(WRITE_FORM.HTML)
글쓰기 Form을 작성한다.
POST 방식으로 write_proc.php로 값을 전송한다.




          getID
                   getPWD


                  getComments




한림대학교 웹데이터베이스 - 이윤환
글쓰기 – 저장(WRITE_PROC.PHP)
전달받은 값에 현재 시간을 추가하여 DB에 저장한다.
Form 값 점검
 • 사용자 ID, 사용자 암호, 글 내용이 없으면 Form으로 다시 돌려보낸다.
    $getID = trim( $_POST["getID"] ) ;
    if(strlen($getID) < 1) {
       echo "<script type="text/javascript">n";
       echo "       alert('아이디를 입력해 주시기 바랍니다.');n";
       echo "       history.go(-1);n";
       echo "</script>n";
       exit;
    };
DB 입력이 끝나면 list.php로 이동


한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
전체 게시물 수 구하기
    $sql = "select count(*) from gbook";
    $result = mysql_query($sql);
    $total = mysql_result($result, 0, 0);

페이지 당 게시물수
   $page_size = 5;

현재 시작 페이지 가져오기
    if( !isset($_GET["start"]) ) {
      $start = 0;
    } else {
      $start = $_GET["start"];
    }


한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
글 가져오기
    $sql = "SELECT gb_id, writer, comments FROM gbook
             ORDER BY gb_id DESC
             LIMIT " . $start . ", " . $page_size;
    $result = mysql_query($sql);
    $pageViews = mysql_num_rows($result);

    if($pageViews == 0) {
       // 게시물이 없으면 없음을 알림
    } else {
        while($rows = mysql_fetch_array($result, MYSQL_ASSOC) )
       {
             // 게시물 출력
       }
    }

한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
Page 이동
 • $start의 역할
       • 현재 페이지의 첫번째 게시물의 index
 • 예
       • 전체 게시물21개, 페이지당 5개의 게시물

   0         5        10           15   20

   1         6        11           16

   2         7        12           17

   3         8        13           18

   4         9        14           19

    1        2         3           4    5


한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
이전 페이지로 이동
     5 - $page_size 10 - $page_size 15 - $page_size20 - $page_size
 ?

     0            5             10             15            20

     1            6             11             16

     2            7             12             17

     3            8             13             18

     4            9             14             19

     1             2             3              4             5




한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
<?php
        $prev_page = $start - $page_size;
        if($prev_page >= 0) {
?>
[<A
HREF="<?=$_SERVER["PHP_SELF"]."?start=".$prev_pa
ge?>">이전 Page</A>]
<?php
        }
?>


한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
다음 페이지로 이동
                 5 + $page_size                15 + $page_size
0 + $page_size                    10 + $page_size           20 + $page_size
                                                                          ?

  0               5               10           15            20

  1               6               11           16

  2               7               12           17

  3               8               13           18

  4               9               14           19

  1               2                3            4             5




한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
<?php
        $next_page = $start + $page_size;
        if($next_page < $total) {
?>
[<A
HREF="<?=$_SERVER["PHP_SELF"]."?start=".$next_pa
ge?>">다음 Page</A>]
<?php
        }
?>


한림대학교 웹데이터베이스 - 이윤환
다음 시간에는
글 수정과 삭제의 과정에 대해 알아봅니다.




한림대학교 웹데이터베이스 - 이윤환
글 수정과 삭제
action.php 에 URL을 통해 (GET 방식) action 변
수 값에 전달된 값(update, delete)에 따라 수정과
삭제를 결정한다.
action.php는 사용자의 암호를 물어보고 주어진 글
에 대한 암호와 일치할 경우 수정과 삭제의 기능을
담당한다.
 • 수정의 경우 별도의 Page로 이동 (modify_form.php)
 • 삭제의 경우 암호만 맞으면 바로 삭제한다.




한림대학교 웹데이터베이스 - 이윤환

Contenu connexe

Tendances

Web vulnerability seminar3
Web vulnerability seminar3Web vulnerability seminar3
Web vulnerability seminar3Sakuya Izayoi
 
PHP 함수와 제어구조
PHP 함수와 제어구조PHP 함수와 제어구조
PHP 함수와 제어구조Yoonwhan Lee
 
레일스 환경 변수
레일스 환경 변수레일스 환경 변수
레일스 환경 변수Eugene Park
 
11주차 간단한 방명록 제작
11주차 간단한 방명록 제작11주차 간단한 방명록 제작
11주차 간단한 방명록 제작Yoonwhan Lee
 
Node.js + Express + MongoDB
Node.js + Express + MongoDBNode.js + Express + MongoDB
Node.js + Express + MongoDBVincent Park
 
현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)Ukjae Jeong
 
현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)Ukjae Jeong
 
10주차 php 사용하기-iii
10주차 php 사용하기-iii10주차 php 사용하기-iii
10주차 php 사용하기-iiiYoonwhan Lee
 
MySQL delete.update
MySQL delete.updateMySQL delete.update
MySQL delete.updateHoyoung Jung
 
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우XpressEngine
 
XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화
XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화
XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화Jinhwa Ko
 
예제로 맛보는 Backbone 연습
예제로 맛보는 Backbone 연습예제로 맛보는 Backbone 연습
예제로 맛보는 Backbone 연습은숙 이
 

Tendances (20)

Web vulnerability seminar3
Web vulnerability seminar3Web vulnerability seminar3
Web vulnerability seminar3
 
PHP 함수와 제어구조
PHP 함수와 제어구조PHP 함수와 제어구조
PHP 함수와 제어구조
 
Hacosa j query 10th
Hacosa j query 10thHacosa j query 10th
Hacosa j query 10th
 
Mymysql basic sql
Mymysql basic sqlMymysql basic sql
Mymysql basic sql
 
레일스 환경 변수
레일스 환경 변수레일스 환경 변수
레일스 환경 변수
 
11주차 간단한 방명록 제작
11주차 간단한 방명록 제작11주차 간단한 방명록 제작
11주차 간단한 방명록 제작
 
Hacosa j query 3th
Hacosa j query 3thHacosa j query 3th
Hacosa j query 3th
 
PHP 기초 문법
PHP 기초 문법PHP 기초 문법
PHP 기초 문법
 
php 시작하기
php 시작하기php 시작하기
php 시작하기
 
Node.js + Express + MongoDB
Node.js + Express + MongoDBNode.js + Express + MongoDB
Node.js + Express + MongoDB
 
현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)
 
현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)
 
MySQL JOIN
MySQL JOINMySQL JOIN
MySQL JOIN
 
Hacosa j query 4th
Hacosa j query 4thHacosa j query 4th
Hacosa j query 4th
 
10주차 php 사용하기-iii
10주차 php 사용하기-iii10주차 php 사용하기-iii
10주차 php 사용하기-iii
 
Cdr with php
Cdr with phpCdr with php
Cdr with php
 
MySQL delete.update
MySQL delete.updateMySQL delete.update
MySQL delete.update
 
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
 
XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화
XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화
XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화
 
예제로 맛보는 Backbone 연습
예제로 맛보는 Backbone 연습예제로 맛보는 Backbone 연습
예제로 맛보는 Backbone 연습
 

En vedette

Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Balena
 
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기XpressEngine
 
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)Ukjae Jeong
 
trello 사용법 및 좋은 팀대표란?
trello 사용법 및 좋은 팀대표란?trello 사용법 및 좋은 팀대표란?
trello 사용법 및 좋은 팀대표란?용현 정
 
Nodejs를 이용한 개발
Nodejs를 이용한 개발Nodejs를 이용한 개발
Nodejs를 이용한 개발WebFrameworks
 
읽기 좋은 코드가 좋은코드다
읽기 좋은 코드가 좋은코드다읽기 좋은 코드가 좋은코드다
읽기 좋은 코드가 좋은코드다wonmin lee
 
깃헙으로 코드리뷰 하기
깃헙으로 코드리뷰 하기깃헙으로 코드리뷰 하기
깃헙으로 코드리뷰 하기Ohgyun Ahn
 
Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스WebFrameworks
 
소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXTMinsuk Lee
 
임영기님 - 코드 리뷰 시스템 도입하기
임영기님 - 코드 리뷰 시스템 도입하기임영기님 - 코드 리뷰 시스템 도입하기
임영기님 - 코드 리뷰 시스템 도입하기OnGameServer
 
[123] electron 김성훈
[123] electron 김성훈[123] electron 김성훈
[123] electron 김성훈NAVER D2
 
코드 리뷰 시스템 소개
코드 리뷰 시스템 소개코드 리뷰 시스템 소개
코드 리뷰 시스템 소개Young-Ho Cha
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)Jay Park
 
우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구Jae Sung Park
 
[123] quality without qa
[123] quality without qa[123] quality without qa
[123] quality without qaNAVER D2
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Ian Choi
 

En vedette (20)

PHP 사용하기
PHP 사용하기PHP 사용하기
PHP 사용하기
 
Resin.io
Resin.ioResin.io
Resin.io
 
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
 
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
 
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
 
trello 사용법 및 좋은 팀대표란?
trello 사용법 및 좋은 팀대표란?trello 사용법 및 좋은 팀대표란?
trello 사용법 및 좋은 팀대표란?
 
Nodejs를 이용한 개발
Nodejs를 이용한 개발Nodejs를 이용한 개발
Nodejs를 이용한 개발
 
읽기 좋은 코드가 좋은코드다
읽기 좋은 코드가 좋은코드다읽기 좋은 코드가 좋은코드다
읽기 좋은 코드가 좋은코드다
 
깃헙으로 코드리뷰 하기
깃헙으로 코드리뷰 하기깃헙으로 코드리뷰 하기
깃헙으로 코드리뷰 하기
 
Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스
 
Trello
TrelloTrello
Trello
 
소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT
 
임영기님 - 코드 리뷰 시스템 도입하기
임영기님 - 코드 리뷰 시스템 도입하기임영기님 - 코드 리뷰 시스템 도입하기
임영기님 - 코드 리뷰 시스템 도입하기
 
Github 사용법
Github 사용법Github 사용법
Github 사용법
 
[123] electron 김성훈
[123] electron 김성훈[123] electron 김성훈
[123] electron 김성훈
 
코드 리뷰 시스템 소개
코드 리뷰 시스템 소개코드 리뷰 시스템 소개
코드 리뷰 시스템 소개
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
 
우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구
 
[123] quality without qa
[123] quality without qa[123] quality without qa
[123] quality without qa
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?
 

Plus de Yoonwhan Lee

R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R BasicsYoonwhan Lee
 
03.기술통계 자료의 중심과 퍼진정도
03.기술통계 자료의 중심과 퍼진정도03.기술통계 자료의 중심과 퍼진정도
03.기술통계 자료의 중심과 퍼진정도Yoonwhan Lee
 
02.자료다루기
02.자료다루기02.자료다루기
02.자료다루기Yoonwhan Lee
 
13.상관과 회귀
13.상관과 회귀13.상관과 회귀
13.상관과 회귀Yoonwhan Lee
 
12.세표본 이상의 평균비교
12.세표본 이상의 평균비교12.세표본 이상의 평균비교
12.세표본 이상의 평균비교Yoonwhan Lee
 
11.두표본의 평균비교
11.두표본의 평균비교11.두표본의 평균비교
11.두표본의 평균비교Yoonwhan Lee
 
10.단일표본 평균 모비율
10.단일표본 평균 모비율10.단일표본 평균 모비율
10.단일표본 평균 모비율Yoonwhan Lee
 
09.통계적가설검정
09.통계적가설검정09.통계적가설검정
09.통계적가설검정Yoonwhan Lee
 
00.통계학입문
00.통계학입문00.통계학입문
00.통계학입문Yoonwhan Lee
 
14.범주형자료분석
14.범주형자료분석14.범주형자료분석
14.범주형자료분석Yoonwhan Lee
 
Smart work 자료 1
Smart work 자료 1Smart work 자료 1
Smart work 자료 1Yoonwhan Lee
 
통계자료 분석을 위한 R
통계자료 분석을 위한 R통계자료 분석을 위한 R
통계자료 분석을 위한 RYoonwhan Lee
 
통계자료분석을 ㅇ
통계자료분석을 ㅇ통계자료분석을 ㅇ
통계자료분석을 ㅇYoonwhan Lee
 
쿠키를 통해 구현해보는 간단한 로그인 과정
쿠키를 통해 구현해보는 간단한 로그인 과정쿠키를 통해 구현해보는 간단한 로그인 과정
쿠키를 통해 구현해보는 간단한 로그인 과정Yoonwhan Lee
 

Plus de Yoonwhan Lee (20)

R 기초 : R Basics
R 기초 : R BasicsR 기초 : R Basics
R 기초 : R Basics
 
03.기술통계 자료의 중심과 퍼진정도
03.기술통계 자료의 중심과 퍼진정도03.기술통계 자료의 중심과 퍼진정도
03.기술통계 자료의 중심과 퍼진정도
 
02.자료다루기
02.자료다루기02.자료다루기
02.자료다루기
 
01.r 기초
01.r 기초01.r 기초
01.r 기초
 
13.상관과 회귀
13.상관과 회귀13.상관과 회귀
13.상관과 회귀
 
12.세표본 이상의 평균비교
12.세표본 이상의 평균비교12.세표본 이상의 평균비교
12.세표본 이상의 평균비교
 
11.두표본의 평균비교
11.두표본의 평균비교11.두표본의 평균비교
11.두표본의 평균비교
 
10.단일표본 평균 모비율
10.단일표본 평균 모비율10.단일표본 평균 모비율
10.단일표본 평균 모비율
 
09.통계적가설검정
09.통계적가설검정09.통계적가설검정
09.통계적가설검정
 
08.추정
08.추정08.추정
08.추정
 
07.표본분포
07.표본분포07.표본분포
07.표본분포
 
06.확률분포
06.확률분포06.확률분포
06.확률분포
 
05.확률
05.확률05.확률
05.확률
 
00.통계학입문
00.통계학입문00.통계학입문
00.통계학입문
 
14.범주형자료분석
14.범주형자료분석14.범주형자료분석
14.범주형자료분석
 
Smart work 자료 1
Smart work 자료 1Smart work 자료 1
Smart work 자료 1
 
통계자료 분석을 위한 R
통계자료 분석을 위한 R통계자료 분석을 위한 R
통계자료 분석을 위한 R
 
통계자료분석을 ㅇ
통계자료분석을 ㅇ통계자료분석을 ㅇ
통계자료분석을 ㅇ
 
추정
추정추정
추정
 
쿠키를 통해 구현해보는 간단한 로그인 과정
쿠키를 통해 구현해보는 간단한 로그인 과정쿠키를 통해 구현해보는 간단한 로그인 과정
쿠키를 통해 구현해보는 간단한 로그인 과정
 

PHP를 이용한 간단한 방명록 만들기

  • 1. 간단한 방명록 제작 웹 데이터 베이스
  • 2. 서비스 정의 • 사이트에 방문한 방문객으로 하여금 간단한 글을 남기게 한다. • 한 페이지당 보여지는 게시물은 5개 • 페이지 이동을 위한 버튼 제공 • 누구나 글을 볼 수 있다. • 글을 쓰기 위해서는 사용자명을 입력한다. • 게시물에 대해 암호를 주어 해당 암호를 알고 있 으면 삭제할 수 있다. 한림대학교 웹데이터베이스 - 이윤환
  • 3. TABLE CREATE TABLE gbook ( gb_id int unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, writer varchar(50) NOT NULL, regDate datetime NOT NULL, comments text NOT NULL, userpwd char(41) NOT NULL ); 한림대학교 웹데이터베이스 - 이윤환
  • 4. 설정파일(CONF.PHP) DB 연결 정보 저장 DB 연결 <?php $host = "localhost"; $user = "testUser"; $password = "test1234"; $db = "testdb"; $conn = mysql_connect($host, $user, $password); if(!mysql_select_db($db)) { die("DB Connectio failed : " . mysql_error() ); } ?> 한림대학교 웹데이터베이스 - 이윤환
  • 5. 글쓰기 FORM(WRITE_FORM.HTML) 글쓰기 Form을 작성한다. POST 방식으로 write_proc.php로 값을 전송한다. getID getPWD getComments 한림대학교 웹데이터베이스 - 이윤환
  • 6. 글쓰기 – 저장(WRITE_PROC.PHP) 전달받은 값에 현재 시간을 추가하여 DB에 저장한다. Form 값 점검 • 사용자 ID, 사용자 암호, 글 내용이 없으면 Form으로 다시 돌려보낸다. $getID = trim( $_POST["getID"] ) ; if(strlen($getID) < 1) { echo "<script type="text/javascript">n"; echo " alert('아이디를 입력해 주시기 바랍니다.');n"; echo " history.go(-1);n"; echo "</script>n"; exit; }; DB 입력이 끝나면 list.php로 이동 한림대학교 웹데이터베이스 - 이윤환
  • 7. 글 목록 – LIST.PHP 전체 게시물 수 구하기 $sql = "select count(*) from gbook"; $result = mysql_query($sql); $total = mysql_result($result, 0, 0); 페이지 당 게시물수 $page_size = 5; 현재 시작 페이지 가져오기 if( !isset($_GET["start"]) ) { $start = 0; } else { $start = $_GET["start"]; } 한림대학교 웹데이터베이스 - 이윤환
  • 8. 글 목록 – LIST.PHP 글 가져오기 $sql = "SELECT gb_id, writer, comments FROM gbook ORDER BY gb_id DESC LIMIT " . $start . ", " . $page_size; $result = mysql_query($sql); $pageViews = mysql_num_rows($result); if($pageViews == 0) { // 게시물이 없으면 없음을 알림 } else { while($rows = mysql_fetch_array($result, MYSQL_ASSOC) ) { // 게시물 출력 } } 한림대학교 웹데이터베이스 - 이윤환
  • 9. 글 목록 – LIST.PHP Page 이동 • $start의 역할 • 현재 페이지의 첫번째 게시물의 index • 예 • 전체 게시물21개, 페이지당 5개의 게시물 0 5 10 15 20 1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 1 2 3 4 5 한림대학교 웹데이터베이스 - 이윤환
  • 10. 글 목록 – LIST.PHP 이전 페이지로 이동 5 - $page_size 10 - $page_size 15 - $page_size20 - $page_size ? 0 5 10 15 20 1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 1 2 3 4 5 한림대학교 웹데이터베이스 - 이윤환
  • 11. 글 목록 – LIST.PHP <?php $prev_page = $start - $page_size; if($prev_page >= 0) { ?> [<A HREF="<?=$_SERVER["PHP_SELF"]."?start=".$prev_pa ge?>">이전 Page</A>] <?php } ?> 한림대학교 웹데이터베이스 - 이윤환
  • 12. 글 목록 – LIST.PHP 다음 페이지로 이동 5 + $page_size 15 + $page_size 0 + $page_size 10 + $page_size 20 + $page_size ? 0 5 10 15 20 1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 1 2 3 4 5 한림대학교 웹데이터베이스 - 이윤환
  • 13. 글 목록 – LIST.PHP <?php $next_page = $start + $page_size; if($next_page < $total) { ?> [<A HREF="<?=$_SERVER["PHP_SELF"]."?start=".$next_pa ge?>">다음 Page</A>] <?php } ?> 한림대학교 웹데이터베이스 - 이윤환
  • 14. 다음 시간에는 글 수정과 삭제의 과정에 대해 알아봅니다. 한림대학교 웹데이터베이스 - 이윤환
  • 15. 글 수정과 삭제 action.php 에 URL을 통해 (GET 방식) action 변 수 값에 전달된 값(update, delete)에 따라 수정과 삭제를 결정한다. action.php는 사용자의 암호를 물어보고 주어진 글 에 대한 암호와 일치할 경우 수정과 삭제의 기능을 담당한다. • 수정의 경우 별도의 Page로 이동 (modify_form.php) • 삭제의 경우 암호만 맞으면 바로 삭제한다. 한림대학교 웹데이터베이스 - 이윤환