SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
간단한 방명록 제작

                 웹 데이터 베이스




한림대학교 금융정보통계학과               이   윤   환, yoonani72@gmail.com
서비스 정의
• 사이트에 방문한 방문객으로 하여금 간단한 글을 남기게
  한다.
• 한 페이지당 보여지는 게시물은 5개
  o 페이지 이동을 위한 버튼 제공
• 누구나 글을 볼 수 있다.
• 글을 쓰기 위해서는 사용자명을 입력한다.
• 게시물에 대해 암호를 주어 해당 암호를 알고 있으면 삭제
  할 수 있다.




한림대학교 금융정보통계학과         이   윤   환, yoonani72@gmail.com
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
);




 한림대학교 금융정보통계학과                        이   윤   환, yoonani72@gmail.com
설정파일(conf.php)
설정파일(conf.php)
• DB 연결 정보 저장
• DB 연결

  <?php
  $host = "localhost";
  $user = "testuser";
  $password = "testpwd";
  $db = "testdb";
  $conn = mysql_connect($host, $user,
  $password);
  if(!mysql_select_db($db)) {
      die("DB Connectio failed : " . mysql_error() );
  }
  ?>
한림대학교 금융정보통계학과                     이   윤   환, yoonani72@gmail.com
글쓰기 Form(write_form.html)
• 글쓰기 Form을 작성한다.
• POST 방식으로 write_proc.php로 값을 전송한다.




             getID
                      getPWD


                     getComments




한림대학교 금융정보통계학과                     이   윤   환, yoonani72@gmail.com
글쓰기 – 저장(write_proc.php)
      저장(write_proc.php)
• 전달받은 값에 현재 시간을 추가하여 DB에 저장한다.
• Form 값 점검
  o 사용자 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로 이동


한림대학교 금융정보통계학과                     이   윤   환, yoonani72@gmail.com
글 목록 – 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"];
     }




한림대학교 금융정보통계학과                               이   윤   환, yoonani72@gmail.com
글 목록 – 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) ) {
               // 게시물 출력
        }
     }



한림대학교 금융정보통계학과                             이   윤   환, yoonani72@gmail.com
글 목록 – list.php
• Page 이동
  o $start의 역할
      • 현재 페이지의 첫번째 게시물의 index
  o 예
      • 전체 게시물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

한림대학교 금융정보통계학과                    이    윤   환, yoonani72@gmail.com
글 목록 – list.php
• 이전 페이지로 이동
       5 - $page_size 10 - $page_size 15 - $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




한림대학교 금융정보통계학과                               이   윤   환, yoonani72@gmail.com
글 목록 – list.php
<?php
  $prev_page = $start - $page_size;
  if($prev_page >= 0) {
?>
       [<A
  HREF="<?=$_SERVER["PHP_SELF"]."?start=".$prev_page
  ?>">이전 Page</A>]
<?php
  }
?>



 한림대학교 금융정보통계학과                  이   윤   환, yoonani72@gmail.com
글 목록 – list.php
• 다음 페이지로 이동
                 5 + $page_size
                     $page_size                 15 + $page_size
                                                     $page_size
0 + $page_size
    $page_size                    10 + $page_size
                                       $page_size             20 + $page_size
                                                                   $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




 한림대학교 금융정보통계학과                                       이   윤   환, yoonani72@gmail.com
글 목록 – list.php
<?php
  $next_page = $start + $page_size;
  if($next_page < $total) {
?>
  [<A
  HREF="<?=$_SERVER["PHP_SELF"]."?start=".$next_page
  ?>">다음 Page</A>]
<?php
  }
?>



 한림대학교 금융정보통계학과                  이   윤   환, yoonani72@gmail.com
다음 시간에는
• 글 수정과 삭제의 과정에 대해 알아봅니다.




한림대학교 금융정보통계학과       이   윤   환, yoonani72@gmail.com

Más contenido relacionado

Más 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
 

Más 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
 
통계자료분석을 ㅇ
통계자료분석을 ㅇ통계자료분석을 ㅇ
통계자료분석을 ㅇ
 
MySQL과 PHP
MySQL과 PHPMySQL과 PHP
MySQL과 PHP
 
MySQL 기초
MySQL 기초MySQL 기초
MySQL 기초
 

11주차 간단한 방명록 제작

  • 1. 간단한 방명록 제작 웹 데이터 베이스 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 2. 서비스 정의 • 사이트에 방문한 방문객으로 하여금 간단한 글을 남기게 한다. • 한 페이지당 보여지는 게시물은 5개 o 페이지 이동을 위한 버튼 제공 • 누구나 글을 볼 수 있다. • 글을 쓰기 위해서는 사용자명을 입력한다. • 게시물에 대해 암호를 주어 해당 암호를 알고 있으면 삭제 할 수 있다. 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 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 ); 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 4. 설정파일(conf.php) 설정파일(conf.php) • DB 연결 정보 저장 • DB 연결 <?php $host = "localhost"; $user = "testuser"; $password = "testpwd"; $db = "testdb"; $conn = mysql_connect($host, $user, $password); if(!mysql_select_db($db)) { die("DB Connectio failed : " . mysql_error() ); } ?> 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 5. 글쓰기 Form(write_form.html) • 글쓰기 Form을 작성한다. • POST 방식으로 write_proc.php로 값을 전송한다. getID getPWD getComments 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 6. 글쓰기 – 저장(write_proc.php) 저장(write_proc.php) • 전달받은 값에 현재 시간을 추가하여 DB에 저장한다. • Form 값 점검 o 사용자 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로 이동 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 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"]; } 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 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) ) { // 게시물 출력 } } 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 9. 글 목록 – list.php • Page 이동 o $start의 역할 • 현재 페이지의 첫번째 게시물의 index o 예 • 전체 게시물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 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 10. 글 목록 – list.php • 이전 페이지로 이동 5 - $page_size 10 - $page_size 15 - $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 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 11. 글 목록 – list.php <?php $prev_page = $start - $page_size; if($prev_page >= 0) { ?> [<A HREF="<?=$_SERVER["PHP_SELF"]."?start=".$prev_page ?>">이전 Page</A>] <?php } ?> 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 12. 글 목록 – list.php • 다음 페이지로 이동 5 + $page_size $page_size 15 + $page_size $page_size 0 + $page_size $page_size 10 + $page_size $page_size 20 + $page_size $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 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 13. 글 목록 – list.php <?php $next_page = $start + $page_size; if($next_page < $total) { ?> [<A HREF="<?=$_SERVER["PHP_SELF"]."?start=".$next_page ?>">다음 Page</A>] <?php } ?> 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com
  • 14. 다음 시간에는 • 글 수정과 삭제의 과정에 대해 알아봅니다. 한림대학교 금융정보통계학과 이 윤 환, yoonani72@gmail.com