여분필드 200개이상 추가할려면 어떻게해야되나요?
본문
답변 3
추가필드수가 아주 많으면 write_update.skin.php 을 다음과 같은 내용으로
<?
$add_qry = $deli ='';
for($k=11; $k<= 마지막번호; $k++){
$wr ='wr_'.$k;
if(!$_POST[$wr]) continue;
$add_qry .=$deli."$wr = '$_POST[$wr]'"; $deli=',';
}
if($add_qry )sql_query("update $write_table set $add_qry where wr_id='$wr_id'");
?>
bbs안에 write_update파일은 건들지마시고
다시 예전 기본껄로 바꿔놓으시고요
db필드가 추가로 필요할때에는
해당스킨에 write_update.skin.php 파일을 하나 만드셔서 아래 내용을 추가
예를들어 theme/테마명/skin/board/게시판스킨명/write_update.skin.php 파일 생성
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
if(!$wr_comment) { // 코멘일때는 저장하면 안됩.
$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',
wr_21 = '$wr_21',
wr_22 = '$wr_22',
wr_23 = '$wr_23',
wr_24 = '$wr_24',
wr_25 = '$wr_25',
wr_26 = '$wr_26',
wr_27 = '$wr_27',
wr_28 = '$wr_28',
wr_29 = '$wr_29',
wr_30 = '$wr_30'
where wr_id = '$wr_id' " ;
sql_query($sql);
}
?>
전력량 모니터링같은걸 만드시나보네요.
글 등록이 안된다는것은 로직상 오류가 있기 때문일 확률이 높습니다.
Insert 구분에서 values 값 넣을 때 오탈자가 없는지 확인해보세요.
값을 넣을 때 오탈자를 구분하기 쉬운 방법으로 sql을 작성하시는 것도 좋습니다.
예를 들면 1~200번까지 for문을 돌려서 update 구문으로 만드는 것입니다.
일단 insert 후 insert_id를 뽑아서 wr_id를 저장 후 update 구문을 한번 더 실행합니다.
위 쿼리 작성 방식은 아래 코드를 실행해보면 사용법을 예상하실 수 있을 것입니다.
$wr_12 = 1;
$n = "12";
echo ${"wr_".$n};
이런식으로 변수를 불러올 수 있는 특성을 이용해서
$dot = "";
$wr_sql= "";
for($i=1;$i<=200;$i++){
if(!$dot)$dot = ",";
$wr_sql.= $dot." wr_".$i." = '".${"wr_".$i};."'";
}
$sql = " update $write_table set $wr_sql where wr_id = '$wr_id' " ;
sql_query($sql);