여분필드 말고 새로운 필드로 체크박스 생성 및 업데이트 문의드립니다

여분필드 말고 새로운 필드로 체크박스 생성 및 업데이트 문의드립니다

QA

여분필드 말고 새로운 필드로 체크박스 생성 및 업데이트 문의드립니다

본문

연말에도 질게를 밝혀주시는 분들께 미리 감사드립니다~

 

이번에 새로 게시판을 만들고 있는데 여분필드 대신 새로운 필드로 체크박스를 만들고 있습니다.

여분필드를 사용하는 방법은 여기저기 찾아보고 해결을 했는데요.

 

여분필드 말고 다른 필드를 만들고 체크박스를 배열시키고 업데이트를 하려고 하는데 여러 팁과 다른 게시판을 참고해도 해결이 되질 않네요..

 

우선 room_col3 이라는 게시판을 만들고 list.skin.php 에서 처음 실행시 

 


$query = "show columns from `$write_table` like 'room_type' ";
$res = sql_fetch($query);
if (empty($res)) {
    sql_query(" ALTER TABLE `$write_table` 
                    ADD `room_type` text NOT NULL DEFAULT '',
                    ADD `room_size_1` text NOT NULL DEFAULT '',
                    ADD `room_size_2` text NOT NULL DEFAULT ''
; ", true); 
} 

 

요렇게 생성까지는 성공했습니다.

 

또한 write.skin.php 에서 해당 `room_type` `room_size_1` `room_size_2`  을 입력하고

write_update.skin.php 에서 

 


$sql_common = " room_type = '{$_POST['room_type']}',
				room_size_1 = '{$_POST['room_size_1']}',
 
				room_size_2 = '{$_POST['room_size_2']}'
				 ";
 
$sql =" UPDATE $write_table SET $sql_common WHERE wr_id ='$wr_id' ";
 
sql_query($sql);

 

를 통해 필드값을 업데이트하는 것도 성공했구요..

 

이제 그냥 필드값을 입력하는 것이 아니라 `room_type` 를 체크박스로 구별하려고 하는데요.

여분필드로 체크박스를 나누는 것 처럼 해보았더니 계속 실패를 하네요.

 

`room_type` 을 커플, 가족, 단체 세개의 체크박스로 나눠서 체크값을 업데이트 시키고 글 수정시에도 체크박스에 체크된 것을 체크된 채로 나오게 하려고 하는데 어떻게 해야 하나요? 

 

염치없지만 write.skin.php 와 write_update.skin.php 두개의 작성방법을 문의드립니다.

이 질문에 댓글 쓰기 :

답변 4

체크 박스가 아니라 라디오로 처리해야 할 것 같은데요.

 

<? $r = sql_fetch("select room_type from g5_write_$bo_table where wr_id='$_GET[wr_id]'");

$r = $r[room_type]; ?>

 

<input type="radio" name="room_type" value="커플"<? if (!$r || $r == "커플") echo " checked"; ?>> 커플
<input type="radio" name="room_type" value="가족"<? if ($r == "가족") echo " checked"; ?>> 가족
<input type="radio" name="room_type" value="단체"<? if ($r == "단체") echo " checked"; ?>> 단체
 

뭐가문젠지 한번 날렸네요


<!-- write.skin.php -->
<?
//view이거나 write이거나 list일수 있음.
$r = explode( "|", $write['room_type']);
 
foreach($r as $value){
	$l[$value] = true;
}
 
 
?>
<input type="checkbox" name="room_type[]" value="c"<? if ( $l['c'] ) echo " checked"; ?>> 커플
<input type="checkbox" name="room_type[]" value="f"<? if ( $l['f'] ) echo " checked"; ?>> 가족
<input type="checkbox" name="room_type[]" value="s"<? if ( $l['s'] ) echo " checked"; ?>> 단체
 
<!-- write_update.skin.php -->
<?
$room_type = "";
foreach( $_POST['room_type'] as $key => $value ){
	if($key != 0) $room_type .= "|";
	$room_type .= $value;
}
 
$sql_common = " room_type = '{$room_type}',
				room_size_1 = '{$_POST['room_size_1']}',
				room_size_2 = '{$_POST['room_size_2']}'
				 ";
$sql =" UPDATE $write_table SET $sql_common WHERE wr_id ='$wr_id' ";
 
sql_query($sql);
 
?>

 

굳이 체크박스를 쓰신다면 이정도로 사용하실 수 있지만

분류개념이라면 상위 답변자분들 말씀대로 라디오가 적합하다고 생각합니다.

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

회원로그인

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