여분필드 질문입니다
본문
게시판 여분필드 부분에도 값 넣어주고
ALTER TABLE `smu_write_obs01` MODIFY `wr_2` varchar(255) NOT NULL DEFAULT '미처리';
테이블도 변경해줘서 저렇게 나오고 heidisql에서 직접 행추가하면 디폴트값 미처리가 나오는데
게시글 생성하면 null로 나옵니다 어떤부분이 문제일까요?
답변 4
게시판 여분필드 부분에도 값 넣어주고 <====이것은 게시판 설정 테이블(g5_board)여분필드 bo_1, bo_2...(이것은 필요 없음)
wr_1, wr_2는 게시물 마다 등록 가능한 여분필드
같은 여분필드이지만 사용 테이블이 다릅니다
<?php if($is_admin){?>
<label for="wr_2" class="sound_only">분류<strong>필수</strong></label>
<select name="wr_2" id="wr_2" required>
<option value="미처리" <?php if($wr_2 == '미처리') echo " selected"; ?>>미처리</option>
<option value="처리중" <?php if($wr_2 == '네트워크') echo " selected"; ?>>처리중</option>
<option value="처리완료" <?php if($wr_2 == 'H/W') echo " selected"; ?>>처리완료</option>
</select>
<?php }else{ ?>
<input type='hidden' name='wr_2' value="<?php echo $write['wr_2']?>">
<?php }?>
select에서 $wr_2는 어디서 나온 변수인가요? $write['wr_2']로 변경하세요
wr_2는 여분 필드가 아니라 일반값입니다.
해당 여분 필드는 게시판 글쓰기에 쓰이는게 아니라 게시판에 대한 정보입니다.
글쓸때 wr_2에 대한 값을 재정의해서 게시글을 쓰면 미처리가 안들어가시는 겁니다.
게시판 스킨에서 wr_2값에 대한 처리를 해주셔야 합니다.
해당 부분을 리스트에서 처리하신다면 $list[$i]['wr_2'] 이고요
글등록/수정폼에서는 $write['wr_2'] 입니다.
글등록/수정폼에서 처리시
<?php if($is_admin){?>
<label for="wr_2" class="sound_only">분류<strong>필수</strong></label>
<select name="wr_2" id="wr_2" required>
<option value="미처리" <?php if($write['wr_2'] == '미처리') echo " selected"; ?>>미처리</option>
<option value="처리중" <?php if($write['wr_2'] == '네트워크') echo " selected"; ?>>처리중</option>
<option value="처리완료" <?php if($write['wr_2'] == 'H/W') echo " selected"; ?>>처리완료</option>
</select>
<?php } ?>
이런식으로 처리하셔야 합니다.
bbs/write_update.php에서
게시물 insert sql을 보면
wr_2가 빈 문자열이라도 값을 지정하도록 되어 있습니다.
지정을 안 하거나 NULL(mysql)을 지정해야 default 값이 들어 갑니다.
답변을 작성하시기 전에 로그인 해주세요.