예감

[디자이너의 초보PHP강의 02] 필드 추가시 방법

· 14년 전 · 1762
처음에 저도 이부분이 힘들었습니다. 하지만 원리를 알고 보면 쉽습니다.
필드 추가시에 문제가 되는 부분은 업데이트 할때 에러나는 부분입니다.
 
게시판 리스트와 뷰 부분에서는 따로 손대지 않아도 추가된 필드가 자동으로 불러와집니다.
 
나중에 배우시겠지만 필드를 불러올때 부분적으로 필요한 것만 불러오기도 하고 테이블에 있는 필드를 다 불러오게 하는 방법이 있습니다. 리스트와 뷰 페이지에서는 전체를 다 불러오니...궂이 다른 설정안하셔도 됩니다.
문제는 글쓰기 에서 업데이트 시키는 부분입니다.
 
그누보드의 기본 구조는 공통적으로 사용되는 페이지와 스킨으로 되어 있습니다.
 
게시판을 보면 모두 bbs 폴더에서 write.php 와 board.php로 되어 있습니다.
 
이 파일에는 공통적으로 들어가는 부분들이 적용되어 있고 이 파일에서 스킨파일을 불러와서 스킨마다 다른 설정을 주는 것입니다. 쓰기 페이지는 모두 /bbs/write.php  파일에서 적용된 스킨의 write.skin.php 파일을 불러와서 보여주는 것입니다. 스킨적용은 관리자 > 게시판 관리에서 각각 해줄수 있습니다.
 
일단 필드를 추가하셨다면, 손대야 하는 부분은 딱 한군데 입니다. 스킨의 write_update.skin.php 파일입니다.
기본스킨에서는 저파일이 없을수도 있습니다. 없다면....만들어주시거나 공유하는 스킨들을 보셔서 저파일이 있다면 업로드 해주세요...단, 그 파일에 다른 코드가 있다면 삭제해 주세요...
 
다음에 해줄 부분은 추가된 필드를 글쓸때와 수정할때 적용 되도록 해주는 것입니다.
 
<?
if($w==''){
 $sql = " insert into $write_table
                set wr_bob= '$wr_bob',
                     wr_bob2= '$wr_bob2',
                      wr_bob3= '$wr_bob3'
                     ";
    sql_query($sql);
}else if($w=='u'){
  $sql = " update $write_table
                set wr_bob= '$wr_bob',
                     wr_bob2= '$wr_bob2',
                     wr_bob3= '$wr_bob3' 
              where wr_id = '$wr[wr_id]' ";
    sql_query($sql);
}
?>
 
이렇게 넣어주면 됩니다. 변수 $w가 없으면 디비에 추가해주는 것이고 u 값이면 수정해서 업데이트 해주는 것이지요. 주의 할점은 추가필드의 맨 끝에 , 가 없어야 하는 것입니다. ,가 들어가면 에러납니다.
리스트에서는 $list[$i][wr_bob] 으로 넣어주면 되고 뷰페이지에서는 $view[wr_bob] 라고 넣어주면 됩니다.
 
쉽죠 쉽죠???
 
만일 기본적으로 사용하는 추가필드를 사용한다면...저런 설정 안해도 자동적으로 됩니다. wr_1 ~ wr_10까지 10개를 사용할수 있습니다.
 
단, 정말 주의할점은 필드추가한 것은 모든 게시판에 한것이 아니기 때문에...저 추가된 스킨을 다른 게시판에 적용하면 저 필드가 없다는 메세지가 뜹니다.......
 
꼭 필드를 추가한 게시판에서만 스킨을 사용해야 합니다..
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 1,925
14년 전 조회 5,016
14년 전 조회 2,032
14년 전 조회 3,733
14년 전 조회 1,954
14년 전 조회 1,980
14년 전 조회 1,750
14년 전 조회 1,597
14년 전 조회 2,575
14년 전 조회 1,620
14년 전 조회 1,542
14년 전 조회 1,864
14년 전 조회 1,697
14년 전 조회 1,931
14년 전 조회 1,679
14년 전 조회 2,741
14년 전 조회 3,192
14년 전 조회 2,015
14년 전 조회 2,029
14년 전 조회 1,766
14년 전 조회 3,830
14년 전 조회 1,822
14년 전 조회 1,545
14년 전 조회 2,371
14년 전 조회 2,759
14년 전 조회 1,748
14년 전 조회 2,302
14년 전 조회 2,297
14년 전 조회 2,360
14년 전 조회 2,496
14년 전 조회 2,151
14년 전 조회 9,628
14년 전 조회 2,260
14년 전 조회 2,531
14년 전 조회 1,664
14년 전 조회 1,619
14년 전 조회 1,717
14년 전 조회 2,080
14년 전 조회 3,113
14년 전 조회 1,644
14년 전 조회 2,603
14년 전 조회 2,867
14년 전 조회 1,965
14년 전 조회 1,899
14년 전 조회 1,480
14년 전 조회 2,043
14년 전 조회 1,934
14년 전 조회 1,814
14년 전 조회 1,707
14년 전 조회 1,763
14년 전 조회 2,124
14년 전 조회 2,938
14년 전 조회 2,020
14년 전 조회 1,499
14년 전 조회 1.1만
14년 전 조회 1,793
14년 전 조회 1,673
14년 전 조회 2,234
14년 전 조회 3,358
14년 전 조회 2,161
14년 전 조회 1,868
14년 전 조회 1,649
14년 전 조회 2,538
14년 전 조회 1,819
14년 전 조회 3,204
14년 전 조회 1,636
14년 전 조회 1,667
14년 전 조회 1,764
14년 전 조회 2,487
14년 전 조회 1,636
14년 전 조회 3,110
14년 전 조회 1,445
14년 전 조회 4,052
14년 전 조회 4,217
14년 전 조회 4,140
14년 전 조회 3,939
14년 전 조회 1,642
14년 전 조회 1,573
14년 전 조회 2,087
14년 전 조회 2,346
14년 전 조회 1,544
14년 전 조회 1,612
14년 전 조회 1,544
14년 전 조회 5,606
14년 전 조회 1,497
14년 전 조회 5,896
14년 전 조회 2,211
14년 전 조회 2,006
14년 전 조회 1,462
14년 전 조회 1,643
14년 전 조회 2,174
14년 전 조회 1,650
14년 전 조회 2,309
14년 전 조회 1,841
14년 전 조회 1,618
14년 전 조회 1,758
14년 전 조회 3,805
14년 전 조회 1,547
14년 전 조회 2,142
14년 전 조회 1,759