write_update.skin에서 sql문을 반복문으로 할 수 있나요~?

write_update.skin에서 sql문을 반복문으로 할 수 있나요~?

QA

write_update.skin에서 sql문을 반복문으로 할 수 있나요~?

본문

안녕하세요.

 

wr_11이상 사용하는 방법을 찾다가 write_update.skin.php파일을 생성하는 방법을 알게되었습니다.

 

$wr_11_chk = sql_fetch("SHOW COLUMNS FROM `$write_table`  WHERE `Field` = 'wr_11'");

if($wr_11_chk['Field'] == "")       sql_query("ALTER TABLE `$write_table` ADD `wr_11` VARCHAR( 255 ) NOT NULL AFTER `wr_10` ");

 

$wr_12_chk = sql_fetch("SHOW COLUMNS FROM $write_table  WHERE `Field` = 'wr_12'");

if($wr_12_chk['Field'] == "")       sql_query("ALTER TABLE $write_table ADD `wr_12` VARCHAR( 255 ) NOT NULL AFTER `wr_11` ");

 

$wr_13_chk = sql_fetch("SHOW COLUMNS FROM $write_table  WHERE `Field` = 'wr_13'");

if($wr_13_chk['Field'] == "")       sql_query("ALTER TABLE $write_table ADD `wr_13` VARCHAR( 255 ) NOT NULL AFTER `wr_12` ");

 

$wr_14_chk = sql_fetch("SHOW COLUMNS FROM $write_table  WHERE `Field` = 'wr_14'");

if($wr_14_chk['Field'] == "")       sql_query("ALTER TABLE $write_table ADD `wr_14` VARCHAR( 255 ) NOT NULL AFTER `wr_13` ");

 

$sql =" update $write_table

            set


 

                wr_11 = '$wr_11',

                wr_12 = '$wr_12',

                wr_13 = '$wr_13',

                wr_14 = '$wr_14'

 

            where wr_id = '$wr_id'

";

 

sql_query($sql);

 

 

대략 이런 방법인데 이를 한 200개까지 늘리고싶은데.. 하나 하나 써야할지.. 어떡해야 할지 조언 부탁드려봅니다! 

 

이 질문에 댓글 쓰기 :

답변 2

여분 필드는 한꺼번에 추가하는 방법 팁게시판에 있을거에요.

 

쿼리는


        for ($i=11; $i<=200; $i++) {
            $vvar = "wr_".$i;
            $comma = "";
            if($i < 200) $comma = ",";
            $sql_set .= " ".$vvar. "= '".$$vvar."'".$comma." ";
        }
 
$sql =" update $write_table  set $sql_set where wr_id = '$wr_id'";
sql_query($sql);

 

이런식으로 하셔도 될듯합니다.

 

$wr_11_chk = sql_fetch("SHOW COLUMNS FROM `$write_table`  WHERE `Field` = 'wr_11'");

if(!$wr_11_chk['Field']){ // 체크 한번만 하고 여분필드를 추가하면 됩니다 wr_11이 없다면 나머지도 추가되지않았다는 것을 알 수 잇잖아요?

sql_query("ALTER TABLE `$write_table` ADD `wr_11` VARCHAR( 255 ) NOT NULL, ADD `wr_12` VARCHAR( 255 ) NOT NULL~~~이렇게 한문장에 모두 넣으면 됩니다

200개 가까이 된다면 for문으로 add쿼리를 만들어서 해야겠지요

그런데 이 코드를 여기다 넣을 것 없이 별도 화일로 만들어 한번만 실행 시켜주면 됩니다

글쓰기 할때마다 체크하게 만들 필요가 없지않을까요?

 

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

회원로그인

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