본문 바로가기

php 게시판6

첨부파일 수정하기 게을러서 이제야 글을... 기존에 첨부 파일 하나를 추가할 수 있는 기능을 작성했는데, 이번에는 작성한 글을 수정하는 기능도 변경해야 한다. //기존 첨부파일 여부 체크 if(strlen($row['filename']) > 0) { $path = "upload/".$row['filename']; //Array 값으로 분리, [0]에는 "_"이전 값이, [1]에는 "_"이후 값이 들어있다. $chk_name = explode("_", $row['filename']); $old_file = $chk_name[sizeof($chk_name)-1];} 상단에서 일단 첨부파일이 있는지 체크를 한다.그리고, 본문에서 첨부파일이 있을 때는 보여주는 코드를 작성한다. 없다면 그냥 첨부할 수 있는 폼을.. 2008. 12. 7.
파일 첨부하기 파일 업로드를 구현하는데 많은 시간이 걸렸다. 아니 정확히 말하면 업로드된 파일을 수정하는데 시간을 많이 잡아먹었다. 첨부파일을 하나 올리는 것은 그리 어렵지 않게 했으나, 욕심이 생겨 처음부터 3개 정도의 파일을 올리는 것이 좋겠다 싶어 3개의 파일을 첨부할 수 있도록 했다. 뭐 이것도 그럭저럭 됐다. 그런데 문제는 올려진 파일을 수정하는데서부터 어려움을 겪기 시작했다. 파일이 3개다 보니 수정 시에 체크할 것도 많아지고, 제대로 동작이 안되는 일이 빈번했다. 체크된 파일만 삭제해야 하거나 기존 첨부파일은 그대로 두고 새롭게 파일을 올리거나, 기존 첨부파일을 덮어쓰거나...여러 가지 경우의 수가 발생했는데 이것을 다 핸들링하는 것이 좀 버거웠다. 그래서, 결국 하나의 파일만 우선 첨부하거나 첨부파일이 .. 2008. 11. 30.
답글 수정 및 삭제하기 답글 수정 및 삭제하기 답글을 어떻게 수정할까 하다가 아무래도 답글이 많이 달리면 현재 창에서 수정하기가 힘들테니 새로운 창을 띄워서 하기로 했다. 우선 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에 대입하는 부분이다... 2008. 11. 21.
페이지 수 출력하기 얼추 페이지 수 출력하기를 했으나 나미지 부분을 완성하는게 생각보다 복잡해서 모두 삭제를 하고"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.. 2008. 11. 15.
게시판 설계 변경 고민하다가 게시판 설계를 바꾸기로 했다. 2008/11/05 - [게시판 만들기] - 개념 설계 처음엔 윗글에 나온대로 post.php에서 쓰기,수정,삭제 등 모든 것을 해결하려고 했다. 뭐 안되는 것은 아니지만, 귀챦다...(블로그 이름을 귀챠니스트의 PHP로 바꿔야 할까보다.) 그래서, 각각의 기능에 맞게 소스를 분리해서 하기로 했다. 장단점이 있을테지만 걱정되는 것은 HTML 폼이 바뀌면 다른 것들도 일관성있게 바꾸어줘야 한다는 것. read.php에서 소스를 복사해 edit.php를 만들었기 때문이다. 이건 하다보면 또 뭔가 꽁수가 나올 것 같긴 하다. 어쨌거나, 지금은 그냥 기능별로 소스를 분리해서 하기로 했다. 이래서 무엇이든 초기 설계안(draft)이 중요하다. 지금이야 게시판 정도에 그치니.. 2008. 11. 13.
데이터베이스 생성하기 울랄라...아주 아주 기초적인 게시판을 만들기 위해 데이터베이스를 생성한다.여러 가지 번거로운 점을 피하기 위해 하나의 파일을 실행하면 데이터베이스가 실행되도록 한다.나중에 어떤 프로그램을 짜든 반복해서 수정, 사용할 수 있으므로 save~ main_no : 게시판 글 번호title : 글 제목name : 작성자content : 내용passwd : 비밀번호primary key는 main_no로 잡았다. 이 시점에서 테이블 만들 때 들어간 변수형들이 궁금해진다.varchar는 char과는 달리 입력되는 문자크기에 따라 용량이 바뀐다. (3바이트가 될 수도 10바이트가 될 수도 있다.)하지만, char는 두 글자가 들어가든 열 글자가 들어가든 차지하는 용량은 변하지 않으므로 DB의 용량효율면에서는 가변적인 .. 2008. 11. 10.