📝
서은 STUDY_SCRIPT
  • JAVASCRIPT 기록
  • JAVASCRIPT 문법정리
    • 데이터 저장하기
    • 데이터 불러오기
    • 데이터 실행하기
    • 데이터 제어하기
    • 면접질문 정리
  • PHP를 이용한 사이트 작업
    • PHP와 MySQL
      • 댓글쓰기
      • 회원가입
      • 로그인
      • 게시판
        • 페이지네이션 & 게시글보기
        • 수정/삭제/목록/검색
  • 생활코딩 JavaScript
    • JavaScript 입문수업
      • Basic
        • 자바스크립트 기본 세팅
        • 데이터타입
        • 변수
        • 연산자
        • 조건문
        • 반복문
        • 함수
        • 배열
        • 객체
        • 모듈
        • 정규표현식
      • 함수지향
        • 유효범위
        • 값으로서 함수
        • 값으로서 콜백
        • 클로저
        • arguments
        • 함수의 호출
      • 객체지향
        • 생성자와 new
        • 전역객체
        • this
        • 상속
        • Prototype
        • 표준내장객체의 확장
        • Object
        • 데이터 타입
        • 복제 & 참조
    • JavaScript Basic
      • 자바스크립트란?
      • 데이터타입
      • 변수와 대입연산자
      • 제어할 태그 선택
      • 비교연산자와 불리언
      • 조건문 if
      • 리팩토링
      • 배열 [ ]
      • 반복문 while
      • 배열과 반복문
        • 배열과 반복문의 활용
      • 함수
        • 함수의 활용
      • 객체 { }
        • 객체와 반복문 for~in
        • 프로퍼티와 메소드
        • 객체의 활용
      • 파일로 쪼개서 정리정돈
      • 라이브러리 & 프레임워크
      • UI & API
    • Web Browser
      • JavaScript란?
      • BOM
        • 전역객체 window
        • 사용자와 커뮤니케이션
        • Location 객체
        • Navigator 객체
        • 창 제어
      • DOM
        • 제어 대상 찾기
        • jQuery
        • HTMLElement
        • Element 객체
          • 식별자 API
          • 조회 API
          • 속성 API
        • Node 객체
          • Node 관계 API
          • Node 종류 API
          • Node 변경 API
          • jQuery 노드 변경 API
          • 문자열로 노드 제어
        • HTMLCollection
      • 이벤트
        • 이벤트 등록
        • 이벤트 전파(버블링과 캡처링)
        • 이벤트 기본 동작 취소
        • 이벤트 타입
      • 네트워크 통신
        • Ajax
        • JSON
  • NOMAD JAVASCRIPT
    • VanillaJS
      • Why JS?
      • ES5, ES6
      • Basic
        • Alert & Console
        • Variable
        • Data Types
        • Array & Object
      • Function
      • DOM
        • Event & Event handler
        • Conditional
        • Function Practice
      • Momentum App
        • Making a JS Clock
        • Saving the User Name
        • To-Do List
        • Image Background
        • Getting Weather
  • DREAM CODING
    • 자바스크립트 기초 강의 (ES5+)
      • JavaScript 역사
      • async & defer / Strict Mode
      • Variable / Hoisting / Data Type
      • Operator / if / Loop
      • Function
        • 함수의 선언
        • 함수의 표현
      • Class
      • Object
      • Array
      • Array API
      • JSON
      • Callback
      • Promise
      • Async & Await
  • WEB BOS
    • #JavaScript30
Powered by GitBook
On this page
  • 페이지네이션(Pagenation)
  • 게시판에 게시글 목록 생성
  • 페이지네이션을 위한 php 코드
  • 생성한 게시글의 데이터 보여주기

Was this helpful?

  1. PHP를 이용한 사이트 작업
  2. PHP와 MySQL
  3. 게시판

페이지네이션 & 게시글보기

페이지네이션(Pagenation)

게시판에 게시글 목록 생성

  1. createBoardData.php

<?php
    include "../connect/connect.php";
    include "../connect/session.php";

    for( $i=1; $i<=100; $i++ ){
        $regTime = time();    
        
        $sql = "INSERT INTO studyBoard(studyMemberID, boardTitle, boardContent, boardView, regTime) VALUES('2', '게시판 제목입니다.${i}', '게시글 ${i}번째 내용입니다.', '1', '$regTime')";

        $result = $connect -> query($sql);

        if( $result ){
            echo "{$i} data input true";
        } else {
            echo "{$i} data input false";
        }
    }
?>

페이지네이션을 위한 php 코드

2. board.php 코드 수정

<?php

    // $page = $_GET['page'];
    // echo $page;

    if(isset($_GET['page'])){
        $page = (int) $_GET['page'];
    } else {
        $page = 1;
    }

    $numView = 10;
    $viewLimit = ($numView * $page) - $numView;

    //1~20   : LIMIT 0,  20 ---> $page = 1    ($numView * $page) - $numView
    //21~40  : LIMIT 20, 20 ---> $page = 2    ($numView * $page) - $numView
    //41~60  : LIMIT 40, 20 ---> $page = 3    ($numView * $page) - $numView
    //61~80  : LIMIT 60, 20 ---> $page = 4    ($numView * $page) - $numView
    //81~100 : LIMIT 80, 20 ---> $page = 5    ($numView * $page) - $numView



    
    $sql = "SELECT b.studyBoardID, b.boardTitle, m.youName, b.boardView, b.regTime FROM studyBoard b JOIN studyMember m ON (m.studyMemberID = b.studyMemberID) ORDER BY studyBoardID DESC LIMIT {$viewLimit}, {$numView}";
    $result = $connect -> query($sql);

    if($result){
        $count = $result -> num_rows;

        if($count > 0){
            for($i=1; $i<=$count; $i++){
                $boardInfo = $result -> fetch_array(MYSQLI_ASSOC);
                echo "<tr>";
                echo "<td>".$boardInfo['studyBoardID']."</td>";
                echo "<td><a href='boardView.php?boardID={$boardInfo['studyBoardID']}'>".$boardInfo['boardTitle']."</a></td>";
                echo "<td>".$boardInfo['youName']."</td>";
                echo "<td>".date('Y-m-d', $boardInfo['regTime'])."</td>";
                echo "<td>".$boardInfo['boardView']."</td>";
                echo "</tr>";
            }
        }
    }
?>

생성한 게시글의 데이터 보여주기

게시글 번호 / 제목 / 작성자 / 등록일 / 조회수 / 내용

3. boardView.php

<?php
    $boardID = $_GET['boardID'];
    
    // echo $boardID;

    $sql = "SELECT b.boardTitle, b.boardContent, b.boardView, m.youName, b.regTime From studyBoard b JOIN studyMember m ON (b.studyMemberID = m.studyMemberID) WHERE b.studyBoardID = {$boardID}";
    $result = $connect -> query($sql); 

    $view = "UPDATE studyBoard SET boardView = boardView + 1 WHERE studyBoardID = {$boardID}";
    $connect -> query($view);

    if( $result ){
        $info = $result -> fetch_array(MYSQLI_ASSOC);
    
        echo "<tr><th>제목</th><td class='left'>".$info['boardTitle']."</td></tr>";
        echo "<tr><th>글쓴이</th><td class='left'>".$info['youName']."</td></tr>";
        echo "<tr><th>등록일</th><td class='left'>".date('Y-m-d H:i', $info['regTime'])."</td></tr>";
        echo "<tr><th>조회수</th><td class='left'>".$info['boardView']."</td></tr>";
        echo "<tr><th>내용</th><td class='left height'>".nl2br($info['boardContent'])."</td></tr>";
    }
?>

nl2br : 문자열 내의 줄바꿈 기호를 HTML 태그의 <br>로 바꾸어 주는 PHP 함수

Previous게시판Next수정/삭제/목록/검색

Last updated 3 years ago

Was this helpful?

9KB
board.php
코드 수정한 board.php 파일
4KB
boardView.php