db 추가할때 반복문은 어떻게 해야 하나요?
본문
새해에는 냑 회원 모든 분들 대박나세요~
db에 아래와 같이 추가하려고 합니다.
_1, _2 _3 이런 식으로 10까지 쭈욱 쓰고 있자니 반복문으로 해결할 수 있지 않나 싶어서 문의드립니다.
php에서 for문으로 해보았는데 db 작성할 때에 변수와 따옴표 등 제가 잘못했는지 에러가 나오더라구요.
이런 경우 어떻게 해야 짧게 사용할 수 있을까요?
<?php
$query = "show columns from `$write_table` like 'mwb_list_account' ";
$res = sql_fetch($query);
if (empty($res)) {
sql_query(" ALTER TABLE `$write_table`
ADD `mwb_list_account` text NOT NULL DEFAULT '',
ADD `mwb_list_subject_1` text NOT NULL DEFAULT '',
ADD `mwb_list_content_1` text NOT NULL DEFAULT '',
ADD `mwb_list_address_1` text NOT NULL DEFAULT '',
ADD `mwb_list_feature_1` text NOT NULL DEFAULT '',
ADD `mwb_list_homepage_1` text NOT NULL DEFAULT '',
ADD `mwb_list_grd_la_1` text NOT NULL DEFAULT '',
ADD `mwb_list_grd_lo_1` text NOT NULL DEFAULT '',
ADD `mwb_list_tel_1` text NOT NULL DEFAULT '',
ADD `mwb_list_subject_2` text NOT NULL DEFAULT '',
ADD `mwb_list_content_2` text NOT NULL DEFAULT '',
ADD `mwb_list_address_2` text NOT NULL DEFAULT '',
ADD `mwb_list_feature_2` text NOT NULL DEFAULT '',
ADD `mwb_list_homepage_2` text NOT NULL DEFAULT '',
ADD `mwb_list_grd_la_2` text NOT NULL DEFAULT '',
ADD `mwb_list_grd_lo_2` text NOT NULL DEFAULT '',
ADD `mwb_list_tel_2` text NOT NULL DEFAULT ''
; ", true);
}
?>
!-->
답변 2
$add_qury = "";
for($i=1; $i<=10; $i++){
$add_query .= "ADD `mwb_list_subject_".$i."` text NOT NULL DEFAULT '',
ADD `mwb_list_content_".$i."` text NOT NULL DEFAULT '',
ADD `mwb_list_address_".$i."` text NOT NULL DEFAULT '',
ADD `mwb_list_feature_".$i."` text NOT NULL DEFAULT '',
ADD `mwb_list_homepage_".$i."` text NOT NULL DEFAULT '',
ADD `mwb_list_grd_la_".$i."` text NOT NULL DEFAULT '',
ADD `mwb_list_grd_lo_".$i."` text NOT NULL DEFAULT '',
ADD `mwb_list_tel_".$i."` text NOT NULL DEFAULT '',";
}
참고로 이런식으로 해서 변수를 반영하여 처리하시면 될듯 합니다.
!-->alter 문장은 1회 이외에 사용을 안하는게 일반적이니
배포판을 만드시는게 아니라면
툴을 이용해서 컬럼추가를 하시는게 좋습니다.
그리고, 혹시라도 위와 같은 구조로 추가해서 만드시려면
alter 문장을 하나씩 분리하는것도 방법이구요
하나 추가하고 확인할수있는것도.
부분적으로 막고 생성하기도 쉬워지니까요
-------추가------
툴을 이용해서 추가하면
alter 문이던 create문이던
생성문이 보입니다.
그걸가지고 텍스트에디터에서
중복되는 숫자만 일괄바꾸기 해서 등록하는게 간단한방법중 하나입니다.
답변을 작성하시기 전에 로그인 해주세요.