기본여분필드외에 더 추가 할 경우..

기본여분필드외에 더 추가 할 경우..

QA

기본여분필드외에 더 추가 할 경우..

본문

 

너무 궁금해서 질문해요

여분필드 관련해서 검색을해서 추가를했는데

추가한 여분필드에 정상적으로 DB에 저장되는것 까지 확인했고

보여지는것도 잘 보여지는데 수정만 하면 해당 값을 가지고 오질 못하네요

뭐가 문제일까요?

 

1. DB에 접속해서 해당 테이블에 여분필드를 wr_11 ~ wr_20까지 추가했습니다

2. 해당 스킨 폴더에 write_update.skin.php 생성후

 

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$sql = " update $write_table
   set wr_11 = '$wr_11',
    wr_12 = '$wr_12',
    wr_13 = '$wr_13',
    wr_14 = '$wr_14',
    wr_15 = '$wr_15',
    wr_16 = '$wr_16',
    wr_17 = '$wr_17',
    wr_18 = '$wr_18',
    wr_19 = '$wr_19',
    wr_20 = '$wr_20'
   where wr_id = '$wr_id' ";
sql_query($sql);
?>​​

 

 

이렇게 넣어주었습니다.

 

3. 그리고 기존에 여분필드처럼 write.skin.php와 list.skin.php에 불러와서 만들었는데요

 

왜 수정하기만 하면 해당 값을 못 불러올까요?????

혹시 더 추가해야하는게 제가 빼먹은게 있을까요?

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 4

<input type="text" name="wr_11" value="<?php echo $write['wr_11'] ?>" id="wr_11" class="frm_input" size="100" maxlength="100" required>


이런식으로 변경하세요~

우와!!너무 감사합니다 ㅠㅠㅠ 하나만 더 질문해도 될까요?
기본으로 제공되는 여분필드는 value부분에 value="<?php echo $wr_1 ?>" 그냥 이렇게 작성해도 잘 불러와 지는데 무슨 차이가 있는걸까요? 번거롭게 질문 드려 죄송합니다 ㅠㅠ

기본으로 제공되는 여분필드에 $wr_1, $wr_2, $wr_3 ... $wr_10 등으로 불러와 진다는건 저도 처음 들어봅니다.

변수에 한번 더 담았는지는 잘 모르겠네요.. ※ 그렇게 기본으로 사용해본적이 없어서....



기본적으로 그누는... 각각의 필드를

wrtie 에서는 $write[wr_1]; 등에 담겨지고

view 에서는 $view[wr_1]; 등에 담겨지고

list 에서는 $list[$i][wr_1]; 등에 담겨지고

합니다.


그럼으로 wr_11은

$write[wr_11]에 담겨질것이며 wr_15는 $write[wr_15] 에 담겨질겁니다..

그래서 $wr_11에는 없습니다.


혹여나 write 상단 부분에


$wr_11 = $write[wr_11];

이렇게 한다면

기존 수정전의 소스대로 사용해도 가능합니다.

/bbs/write.php 파일을 보면 이렇게 되어 있습니다.

if ($w == 'u' || $w == 'r') {
    if ($write['wr_id']) {
        // 가변 변수로 $wr_1 .. $wr_10 까지 만든다.
        for ($i=1; $i<=10; $i++) {
            $vvar = "wr_".$i;
            $$vvar = $write['wr_'.$i];
        }

여기서 $i<=10 숫자를 추가한 개수만큼 늘려주시면
추가한 여분필드도 <?php echo $wr_11 ?> 이렇게 사용 가능합니다.

해당 게시판 DB 테이블에 wr_11부터 wr_20 칼럼까지 추가했나요?

 

ALTER TABLE {$write_table} ADD wr_11 INT UNSIGNED NOT NULL DEFAULT '0'

이렇게 추가하셨나요?

칼럼이 추가 되어야 저장할수 있습니다.

이걸 추가하지 않았으면 저장되지 않아요.

 

 

그리고 칼럼 위처럼 추가했다면...

 

<input type="text" name="wr_11" value="<?php echo $wr_11 ?>" id="wr_11 required" class="frm_input" size="100" maxlength="100" > 

이게 아니라


<input type="text" name="wr_11" value="<?php echo $write['wr_11'] ?>" id="wr_11 required" class="frm_input" size="100" maxlength="100" >

이렇게 하셔야 값이 보일겁니다.

글쓰기를 해서, 필드에 입력받아 디비저장까지 잘 되고

view 에서나 list 에서 잘 보이는데....

 

글을 수정하면 해당 필드값이 비어 있다 이말씀이신것 같은데...

 

write.skin.php 에 어떻게 넣으셨는지요?

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 8
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT