너무 궁금해서 질문해요
여분필드 관련해서 검색을해서 추가를했는데
추가한 여분필드에 정상적으로 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개 / 댓글 6개
<input type="text" name="wr_11" value="<?php echo $write['wr_11'] ?>" id="wr_11" class="frm_input" size="100" maxlength="100" required>
이런식으로 변경하세요~
답변에 대한 댓글 5개
변수에 한번 더 담았는지는 잘 모르겠네요.. ※ 그렇게 기본으로 사용해본적이 없어서....
기본적으로 그누는... 각각의 필드를
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 상단 부분에
[code]
$wr_11 = $write[wr_11];
[/code]
이렇게 한다면
기존 수정전의 소스대로 사용해도 가능합니다.
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" >
이렇게 하셔야 값이 보일겁니다.
글쓰기페이지는 $write['wr_11'];
리스트페이지는 $list[$i]['wr_11'];
상세페이지는 $view['wr_11'];
글쓰기를 해서, 필드에 입력받아 디비저장까지 잘 되고
view 에서나 list 에서 잘 보이는데....
글을 수정하면 해당 필드값이 비어 있다 이말씀이신것 같은데...
write.skin.php 에 어떻게 넣으셨는지요?
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
기본으로 제공되는 여분필드는 value부분에 value="<?php echo $wr_1 ?>" 그냥 이렇게 작성해도 잘 불러와 지는데 무슨 차이가 있는걸까요? 번거롭게 질문 드려 죄송합니다 ㅠㅠ