MySQL 18

게시판 DB 스키마 재정의

2009/02/12 - [게시판 만들기] - 게시판 DB 스키마 정리게시판 만들 때 DB의 스키마를 정리를 했었는데 사용하다 보니 문제점이 발견되었다.한 개의 게시판만 생성해서 사용할 때는 별 관계가 없지만 다수의 게시판을 생성했을 때 여러 가지 복잡하고 미숙한 부분들이 나타나서 스키마를 다시 재정의했다.#기본 게시판 테이블 우선 DB 테이블을 생성 시에 공지사항 게시판을 기본으로 생성하도록 했다.제일 하단에 보면 코드 테이블에 공지사항 게시판 값이 들어간 것을 알 수 있다.이렇게 부모글과 답변글에 대한 테이블을 분리해놓고 나니 처리하기가 한경 수월해졌다.여러 개의 게시판을 생성하더라도 호출이나 처리 시에는 게시판 코드값만 넣어서 처리하도록 했다.$board = 'bbs_'.$code;$sql = "SE..

mysql improved 함수 사용하기

기존에 mysql 관련 함수가 mysql_ 로 시작을 했다면 보다 개선된 함수는 mysqli_ 로 시작을 한다. 예를 들면 쿼리를 보내는 mysql_query() 함수의 경우 mysqli_query() 이런 식이다. 물론 위와 같이 쓰면 procedural방식으로 resource 를 반환하는 것이니 객체지향 방식으로 object 반환값을 받는다면 mysqli::query() 처럼 써야 한다. mySQL 4.1 이상에서 사용할 수 있다. 보다 자세한 내용은 http://kr2.php.net/manual/kr/book.mysqli.php 을 참고.

PHP 2009.02.16

MVC 모델로 본 게시판 만들기

줏어들은 건 있어서 디자인패턴이란 책도 집에 한 권 있다. (아, 물론 읽어 본 적은 없다...그냥 소장만 하고 있다.) 문득 작년에 본 루비온레일즈(처음엔 루비온레일즈로 게시판을 만들려고 했다.) 책에서 MVC 모델을 읽은 기억이 났다. 그래서 구글링을 통해 MVC 모델로 본 게시판 만들기를 정리해 봤다. (사실 이런건 맨 처음에 해야하는건데...) MVC(Model-View-Controller) 모델은 소프트웨어 재사용성이나 협업에 있어서 중요한 역할을 하는 것 같다. (내 관심은 재사용성이다.) Model: 비즈니스 로직과 처리 View: 사용자 인터페이스(UI) Controller: 네비게이션과 입력 MODEL 우선 Model은 사용자나 프로그램 상에서 필요로 하는 하나의 객체라고 생각하면 된다...

게시판 만들기 중간 소스 정리

요 사이 다른 것을 만드느라 게시판 만들기는 당분간 좀 유보했습니다. 자기가 만들고도 나중에 헷갈리는 경우를 방지하기 위해 중간 중간 정리하는 차원에서 소스를 올립니다. 그러나... 혹시라도 이 소스를 받으시는; 분들이 계시다면... 누차 말씀드리지만, 본 소스는 강좌용이 아닌 개인공부용으로 개발 중인 것이라 오류가 있을 수도 있고 최적화가 되어 있지 않습니다. 설치 전에 반드시 db_connect.php 파일을 본인의 데이터베이스 정보에 맞게 수정하셔야 하며, 이후에 create_db.php를 웹브라우저에서 실행하시면 됩니다. 소스를 보시고, 더 좋은 방법이나 개선방법을 알고 계시다면 공유 부탁드려요~ ^^; 지금은 잠시 손을 놓고 있지만, 1. 멀티게시판 (공지,질문 등등의 게시판을 하나의 소스로 사..

답글 수정 및 삭제하기

답글 수정 및 삭제하기 답글을 어떻게 수정할까 하다가 아무래도 답글이 많이 달리면 현재 창에서 수정하기가 힘들테니 새로운 창을 띄워서 하기로 했다. 우선 read.php에서 답글을 뿌려주는 부분에 수정과 삭제 링크를 걸고, edit_reply.php와 edit_reply_ok.php를 새로 작성했다. 하지만 이전에 본문 수정과 삭제 코딩을 해두었기 때문에 한결 편하게 작성이 가능하다. edit_reply.php의 앞 부분. edit_reply_ok.php에서 주의할 부분만 보면,$pw_sql = "SELECT passwd FROM board WHERE rel_no=$main_no AND reply_no=$reply_no"; 위의 SQL문에서 앞서 넘겨받은 main_no를 rel_no에 대입하는 부분이다...

답변 쓰기 기능 작성 (중간 소스정리)

답변하기 작성 와우, 지금까지 만들었던 게시판 기능 중에 제일 복잡하지 않았나 싶다. Thread 방식이라고 해야 하나? 지메일과 같은 형태로 코딩을 하고 싶었다. (아 물론 지메일은 Ajax 방식이라고 하더라...여기까지 건드리기에는 내공 부족이고...그냥 보이는 형태를 그렇게 하고 싶단 얘기다.) 아웃룩을 쓰다가 지메일을 쓸 때는 처음엔 도대체 어떻게 읽고 찾아야 하는지 헷갈렸지만 이제는 지메일처럼 주루룩 관련 내용들이 엮어져 있다보니 이게 매우 편리해졌다. (참고로 맥의 iMail에서는 제목을 클릭하면 주고 받은 관련 이메일들의 제목도 하이라이팅해줘서 매우 시각적으로 찾기가 쉽다.) 답변하기(reply.php)도 edit.php와 edit_ok.php의 소스를 그대로 가져와 손을 본다. 여기서 중요..

페이지 수 출력하기

얼추 페이지 수 출력하기를 했으나 나미지 부분을 완성하는게 생각보다 복잡해서 모두 삭제를 하고"PHP4 쇼핑몰 만들기"란 책에 나와 있는 루틴을 참고해서 수정을 했다.(나중에 좀더 좋은 루틴이 생각나면 수정하기로 하고 일단은 패스~) 1) mysql_data_seek($result, $start_no); $total_page = ceil(($total_article)/$limit);?> 아래 부분은 지정된 갯수만큼 게시판에 글을 출력하고 빠져나오는 while() 구문이다.한 페이지에 보여줄 글 갯수는 상단에서 $limit = 10; 으로 10개만 출력이 되도록 지정을 했다. $line = 0; //get data array from query result and show on the bo..

게시판 만들기 중간정리 (소스 첨부)

한 차례 개념설계도 변경이 있었고 그에 따라 DB 설계도 조금 바뀌었다. 또, 일부 소스에서는 HTML코드가 누락된 경우도 있었다. 그래서 이 쯤해서 소스들을 한번 정리할 필요성이 생겼다. 첨부파일을 받아 압축을 풀고 http://localhost/create_db.php 를 수행하면 중간에 변경된 테이블까지 모두 적용되게 수정했다. 그 전에 create_db.php 에 있는 mySQL 접속 아이디나 비밀번호는 본인에 맞게 수정을 해야한다. ****** 이건 강좌가 아니다. -_-; ********* 그냥 나만의 게시판을 가지고 싶어서 여기저기서 소스를 참고해 만들고 있는 것 뿐이고, 그래서 언제 어디서라도 기억을 되짚어 볼 필요가 있을 때 참고하고자 정리하고 있는 것 뿐이다. 그래서, 다른 고수분들이 ..

글 삭제하기 작성

글 삭제하는 기능은 수정 기능보다 좀 더 간결하다.우선 앞서 작성한 edit.php와 edit_ok.php 파일을 각각 delete.php와 delete_ok.php 로 복사한 후 아래와 같이수정하면 된다. 글 삭제하기"> 비밀번호를 입력하세요: '));" value="취 소">   delete.php에서는 자바스크립트의 내용을 변경하고, 비밀번호를 입력받는 폼으로 수정한다.delete_ok.php에서는 입력받은 패스워드와 일치 여부를 확인 후 DB에서 해당 글을 삭제하면 된다.

글 수정하기 작성

글 수정하는 것은 post.php -> edit.php 로 복사해서 사용한다.어차피 글 작성 폼과 수정 폼은 동일하고 단지 수정하기에서는 DB에서 내용을 불러와 뿌려주기만 하면 된다.그리고 edit_ok.php에서 DB에 업데이트를 하면 된다.업데이트를 하기 전에 패스워드가 일치하는지를 체크하는 루틴을 둔다. 글 수정하기"> 글쓴이 "> 패스워드 이메일 "> 제 목 ">  134라인부터가 edit_ok.php 소스입니다.소스에 라인넘버를 붙여주는 프로그램이 textarea 영역이 있으면 오류가 있더라구요.

글 작성하기 수정

글 수정과 삭제 기능을 넣기에 앞서 설계가 변경되었으므로 통일성을 주기 위해 파일명과 HTML 폼에도변화를 주었다.기존에 글 작성 후 실제 DB에 넣는 기능을 수행했던 save.php -> post_ok.php로 파일명을 변경했다.그리고 post.php도 소스 코드를 일부 고쳤다. 글쓰기 글쓴이 패스워드 이메일 제 목   post_ok.php에서는 HTML 코드를 모두 삭제하고 PHP로 변경했다.이제 edit.php 를 작성할 차례...

게시판 설계 변경

고민하다가 게시판 설계를 바꾸기로 했다. 2008/11/05 - [게시판 만들기] - 개념 설계 처음엔 윗글에 나온대로 post.php에서 쓰기,수정,삭제 등 모든 것을 해결하려고 했다. 뭐 안되는 것은 아니지만, 귀챦다...(블로그 이름을 귀챠니스트의 PHP로 바꿔야 할까보다.) 그래서, 각각의 기능에 맞게 소스를 분리해서 하기로 했다. 장단점이 있을테지만 걱정되는 것은 HTML 폼이 바뀌면 다른 것들도 일관성있게 바꾸어줘야 한다는 것. read.php에서 소스를 복사해 edit.php를 만들었기 때문이다. 이건 하다보면 또 뭔가 꽁수가 나올 것 같긴 하다. 어쨌거나, 지금은 그냥 기능별로 소스를 분리해서 하기로 했다. 이래서 무엇이든 초기 설계안(draft)이 중요하다. 지금이야 게시판 정도에 그치니..

반응형

최근 댓글

Total

  • Today :
  • Yesterday :