http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=&divpage=1&sn=on&ss=on&sc=off&keyword=유메미루&select_arrange=headnum&desc=asc&no=2213이젠 예비 필드 x,y 를 활용하자..  
유메미루  (Homepage)  2002-07-24 14:20:56, 조회 : 15,887, 추천 : 8

아마 제로보드를 사용하시는 분들중에 게시판 디비의 수가 적어서 활용을 못하시는분들이 많을걸로 압니다.
저도 이래저래 하다보면 필드가 적어서 디비를 추가하는 경우가 많은데 그것보다는 예비 필드를 활용하므로서 디비를 수정하기보단 편하게 추가하는 편이 낳을거 같아 몇자 적어봅니다.

스킨 만드실때 고려할 상황인데요..보통 스킨 상의 write.php 문에 해당합니다.
<tr>
  <td style='font-family:Tahoma; font-size:8pt' align=right>예비 필드 1</td>
  <td> <input type=text name=zx value="<?=$data[x]?>" <?=size(20)?> maxlength=100 class=input></td>
</tr>
<tr>
  <td style='font-family:Tahoma; font-size:8pt' align=right>예비 필드 2</td>
  <td> <input type=text name=zy value="<?=$data[y]?>" <?=size(20)?> maxlength=100 class=input></td>
</tr>
위에서 처럼 name=zx , name=zy 로 받으셔야 제대로 작동을 합니다, 이것은 제로님이 write_ok.php 문 상에서 $x=$zx , $y=$zy 로 받으셨기 때문에 어쩔수 가 없더군요.

두번째 고칠 파일은 제로보드 폴더의 write.php 문입니다.

if($mode=="modify") {

                // 비밀글이고 패스워드가 틀리고 관리자가 아니면 리턴
                if($data[is_secret]&&!$is_admin&&$data[ismember]!=$member[no]&&$HTTP_COOKIE_VARS[zb_s_check]!=$setup[no]."_".$no) error("정상적인 방법으로 수정하세요");

                        $name=stripslashes($data[name]); // 이름
                        $email=stripslashes($data[email]); // 메일
                        $homepage=stripslashes($data[homepage]); // 홈페이지
                        $subject=$data[subject]=stripslashes($data[subject]); // 제목
                        $subject=str_replace(""",""",$subject);
                        $homepage=str_replace(""",""",$homepage);
                        $name=str_replace(""",""",$name);
                        $sitelink1=str_replace(""",""",$sitelink1);
                                 $sitelink2=str_replace(""",""",$sitelink2);
                                                // 추가 필드 사용을 위한 추가 by 유메  
                                                $x=stripslashes($data[x]);
                                                $y=stripslashes($data[y]);
위부분을 찾으셔서 위의 두줄을 추가해주세요.. 이것을 해주셔야 저장된 게시물을 수정할때 x,y 의 내용이 보이게 됩니다.

세번째 수정할 파일은 write_ok.php 문입니다. 조금 바꾸어야 할 부분이 많은 파일이니 주의하시기 바랍니다.

// 각종 변수의 addslashes 시킴;;
       $homepage=addslashes(del_html($homepage));
        // 예비 추가 필드 사용을 위한 추가 by 유메
        $x=addslashes(del_html($x));
        $y=addslashes(del_html($y));

/***************************************************************************
* 수정글일때
**************************************************************************/
minus_division($s_data[division]);
// 예비 필드 수정모드 사용을 위한 추가 by 유메
@mysql_l_query("update $t_board"."_$id set headnum='$headnum',prev_no='$prev_no',next_no='$next_no',child='$child',depth='$depth',arrangenum='$arrangenum',father='$father',name='$name',email='$email',homepage='$homepage',subject='$subject',memo='$memo',sitelink1='$sitelink1',sitelink2='$sitelink2',use_html='$use_html',reply_mail='$reply_mail',is_secret='$is_secret',x='$x',y='$y',category='$category' $del_que1 $del_que2 where no='$no'") or error(mysql_error());
plus_division($division);

// 일반글 -> 공지
@mysql_query("update $t_board"."_$id set division='$division',headnum='$headnum',prev_no='$prev_no',next_no='$next_no',child='$child',depth='$depth',arrangenum='$arrangenum',father='$father',name='$name',email='$email',homepage='$homepage',subject='$subject',memo='$memo',sitelink1='$sitelink1',sitelink2='$sitelink2',use_html='$use_html',reply_mail='$reply_mail',is_secret='$is_secret',x='$x',y='$y',category='$category' $del_que1 $del_que2 where no='$no'") or error(mysql_error());

// 일반->일반, 공지->공지 일때
} else {
@mysql_query("update $t_board"."_$id set name='$name',subject='$subject',email='$email',homepage='$homepage',memo='$memo',sitelink1='$sitelink1',sitelink2='$sitelink2',use_html='$use_html',reply_mail='$reply_mail',is_secret='$is_secret',x='$x',y='$y',category='$category' $del_que1 $del_que2 where no='$no'") or error(mysql_error());
                        


/***************************************************************************
* 답변글일때
**************************************************************************/
// 답글 데이타 입력;;
mysql_query("insert into $t_board"."_$id (division,headnum,arrangenum,depth,prev_no,next_no,father,child,ismember,memo,ip,password,name,homepage,email,subject,use_html,reply_mail,category,is_secret,sitelink1,sitelink2,file_name1,file_name2,s_file_name1,s_file_name2,x,y,reg_date,islevel) values ('$division','$headnum','$arrangenum','$depth','$prev_no','$next_no','$father','$child','$member[no]','$memo','$ip','$password','$name','$homepage','$email','$subject','$use_html','$reply_mail','$category','$is_secret','$sitelink1','$sitelink2','$file_name1','$file_name2','$s_file_name1','$s_file_name2','$x','$y','$reg_date','$member[is_admin]')") or error(mysql_error());    

/***************************************************************************
* 신규 글쓰기일때
**************************************************************************/

mysql_query("insert into $t_board"."_$id (division,headnum,arrangenum,depth,prev_no,next_no,father,child,ismember,memo,ip,password,name,homepage,email,subject,use_html,reply_mail,category,is_secret,sitelink1,sitelink2,file_name1,file_name2,s_file_name1,s_file_name2,x,y,reg_date,islevel) values ('$division','$headnum','$arrangenum','$depth','$prev_no','$next_no','$father','$child','$member[no]','$memo','$ip','$password','$name','$homepage','$email','$subject','$use_html','$reply_mail','$category','$is_secret','$sitelink1','$sitelink2','$file_name1','$file_name2','$s_file_name1','$s_file_name2','$x','$y','$reg_date','$member[is_admin]')") or error(mysql_error());

위를 잘 참조하시고 필드 넉넉하게 쓰세요!!!


  





바른생활 NZEO
  글은 인터넷에서 자신을 나타내는 유일한 모습입니다.
상대에게 상처를 주기보다 같이 즐거워 할 수 있는 코멘트 부탁드려요. 2004-06-11
19:34:09



수도사
  필드를 꼭 추가해서 할필요는 없는데..배열사용하면^^;; 2002-07-24
19:42:42
  



유메미루
  수도사님 // 이건 필드 추가가 아닌데요!! .기존에 있던 예비 필드를 활용하자는 의미입니다. 필드 추가에 대한건 다른 분들도 마니 이야기 한걸로 생각됩니다. 2002-07-25
12:19:20
  



김우람
  안녕하세요 김우람이라고 합니다.
유용한 팁을 알려주셔서 고맙습니다.
필드를 추가하는 것보다 이런식으로 하는 것이 쉬어 보여 이곳에 적힌대로 해보았습니다. 그런데...
제가 무슨 부분에서 잘못했는지 모르겠지만 글을 수정한 후 ok 버튼을 누르면 그 후 게시판이 정상적으로 동작하지 않습니다.
처음엔 스킨문제이겠거니 생각했지만(제가 스킨을 고친부분이 있어서..) 다른 스킨들도 마찬가지로 글 수정을 한 후에는 동작하지 않더군요
혹시 무슨 문제 인지 알수있을까요? 2002-08-14
10:20:41
  



IF
  전 위의 방법대로 고대로 복사해서 붙여넣기 했는데 아무런 문제없이 돌아가네요. 글쓰기 필드를 위의 처럼 두개 추가했거든요.
그런데 궁금한 사항은 만약 글쓰기 필드를 더 추가 한다면 위의 방법대로 하면 되는지...........???무척 궁금합니다......유메님...강의 부탁해요. 2002-08-14
22:53:29
  



유메미루
  김우람 // 쪽지로 답변드렸습니다.,
IF // 지금 이 강의는 제로보드 내에서 사용하지 않는 필드를 이용해 보자는 취지로 만들어 놓은 강의입니다. 필드추가에 관한 강의는 "필드"라는 검색어를 사용해보시면 더 좋은 강의가 있답니다.
그걸 참고 해주시구요..
더 많은 필드를 사용시 모든 게시판에 똑같은 필드를 추가해야 하는 불편함이 발생하기떄문에 디비랑 친하지 않는 분들에게는 권하지 않습니다.
근데 혹시 IF 갤러리의 IF님이신가요?? 2002-08-15
10:37:37
  



베코!!
  팁중에 팁입니다...^^
그런데 글이 짤려 보이는 것을 모르고 몇날몇칠을 안돼서 고생했습니다...
글이 중간이 짤려보여서 안된다는 것을 오늘에야 알았습니다...
안보이시는분들은 글을 복사하셔서 메모장에서 보시면 잘 보입니다...
추가필드사용은 제로보드 활용에 있어서 혁명적이네요...
감사합니다...^^ 2002-09-28
23:20:34
  



이민
  저..죄송하지만, mysql_l_query 가 mysql_qurey랑 다른건가요? 뭐죠?;;; 2003-01-30
03:51:29
  



쉬즈
  도대체...먼소린지 모르겠어요...ㅠ.ㅠ 2003-02-04
12:10:15
  



아이둘
  도와주세요.
위의 글들이 넘 어렵네요.
그리고 zboard 내 write,php를 클릭하면 연결할 프로그램이라고 나오는데...
어떻게 하면 되나요?
도와주세요. 2003-02-04
14:11:00
  



ⓡⓤⓜⓘ™
  메모장으로 열으세요 2003-02-13
17:06:27
  



김동곤
  문제없이 작동은 잘 되는데, 최근게시물스킨을 만들때 문제가 있는것 같은데, 어떻게 해결할 수 있을지요. 제경우는 최근게시물스킨에서 목록이 나오는 부분을 아래와 같이 입력했는데,

<td height="23">  <img src="[dir]bul2.gif" border=0 align=absmiddle width="8" height="12"> <span style="font-size:9pt;">[[data[x]]][subject][[data[y]]]]</span><font size=1 color=red> [comment] </font></td>

[[data[x]]]과 [[data[y]]]] 부분이 [data[x]] [data[y]] 처럼 나오네요. 실제 내용이 나오지는 않고요. [data[x]] 이분에는 제목이 정상적으로 출력이 되고요 [data[y]] 2003-04-12
10:42:12
  



왕초보
  위의 설명글에서

/***************************************************************************
* 수정글일때
**************************************************************************/
항목 이하는 추가가 아닌 수정인가요?
아님 기존 부분을 두고 뒤에 추가해주는건가요?

계속 안되고 있어서 답답합니다. 2003-05-20
18:24:26
  



최강..
  마지막 2 부분은 원본과 같은데요? 2003-06-28
16:34:35
  



이화영
  수정할때 추가가 아니고 수정입니다.....

제로 보드 설치한지 한 일년만에 소원 성취 하게 되었네요
게시판의 목적이 필드가 더 필요한것이었는데 이걸 사용하여 무사히
성공하였습니다.... 감사합니다 ...

추가로 묻고 싶은것은 필드로 나누는 목적이 sort (정렬) 인데
추가한 필드의 정렬은 어찌해야 되는지 ~~~ 부탁합니다...


추가가 아니고 수정입니다.. x ,y 를 원래 추가 해야 하는데 부분 전체를 알기
쉽게 올려 주셨더군요 ...... 쉽게 성공 됩니다...
리스트. 리뷰 , 라이트 ( 설명 나오게 끔 하는 부분만 잘해주시면 바로 될걸여? 히힛)
리스트 ~~ 이런데는 추가 분이니 기존 에 있던것 복사해서 고칠부분만 고쳐 주면
무사히 안착 합니다... 좋은 결과 바랍니다.... 딩동댕.... 2003-08-01
14:11:18
  



이화영
  종일 찾아 다녀서 겨우 정렬에 성공 하였습니다...

제로폴드의 zboard.php 에서 하단부분:

/***************************************************************************
* 각종 링크를 미리 지정하는 부분
**************************************************************************/

//x 정렬
$a_zx="<a onfocus=blur() href='$PHP_SELF?$href&select_arrange=binary(x)&desc=$t_desc'>";

//y 정렬
$a_zy="<a onfocus=blur() href='$PHP_SELF?$href&select_arrange=binary(y)&desc=$t_desc'>";


위에 부분을 아무 사이에나 추가하여 주시면 될듯합니다. 2003-08-01
21:00:47
  



dovey
  필드는 필드만 하면 안되네요 하핫.....
필드 와 함께 ~~ 정렬(sor) 검색도 해주어야 할 것 같습니다. ..
그래야 진정한 필드추가의 진가를 발휘 하겠네요


추가로 검색에 관한것도 올려 주시면 감사 *:...:*
검색에 관한 것은 별로 글이 올라와 있지 않네요 부탁 합니다 ....

현재 추가 필드 의 실제 사용기는
http://dovey.byus.net ---- 메뉴 (번안곡) 에서 사용하고 있습니다.. 2003-08-04
15:54:03
  



골비
  제일첨에나오는 스킨아래 write.php에 해당합니다....라는 부분 아래것을
복사하여 추가하라는 이야기인지...아니면 고치라는 이야기인지
모르겠어요...아 복잡하다 2003-08-16
11:51:06
  



김민진
  수정은 감사합니다 허나, 초보분들을 위해서 몇번째줄 어디 빼야할껀 어디를 빼고등등을 자세하게 써주셨음 좋았을듯 합니다 2003-12-17
03:21:13
  



김민진
  이방법을썼는데 글쓰기까지 됐지만 정작 뷰하는과정에서 안나오는데 메모부분에 나오게할수있을까요? 2003-12-21
04:23:33
  



준희^^+
  김민지님 //
원하는 게시판 스킨중 view.php 파일의 적당한 곳에 <?=$data[x]?>, <?=$data[y]?>를 넣으셔야 나옵니다. 2004-01-07
08:03:32
  



유메미루
  --------------------덧글 제한선----------------------------------
확인도 안하는데 덧글이 계속 붙어서 짜릅니다.

profile