디비에 추가 테이블을 생성하고 이용하는 방법 질문입니다
##
## Table structure for table `$g4[adpoll_table]`
##
## Table structure for table `$g4[adpoll_table]`
##
DROP TABLE IF EXISTS $g4[adpoll_table];
CREATE TABLE $g4[adpoll_table] (
cf_1_poll varchar(255) NOT NULL default '',
cf_2_poll varchar(255) NOT NULL default '',
cf_3_poll varchar(255) NOT NULL default '',
cf_4_poll varchar(255) NOT NULL default '',
cf_5_poll varchar(255) NOT NULL default '',
cf_6_poll varchar(255) NOT NULL default '',
cf_7_poll varchar(255) NOT NULL default '',
cf_8_poll varchar(255) NOT NULL default '',
cf_9_poll varchar(255) NOT NULL default '',
cf_10_poll varchar(255) NOT NULL default ''
CREATE TABLE $g4[adpoll_table] (
cf_1_poll varchar(255) NOT NULL default '',
cf_2_poll varchar(255) NOT NULL default '',
cf_3_poll varchar(255) NOT NULL default '',
cf_4_poll varchar(255) NOT NULL default '',
cf_5_poll varchar(255) NOT NULL default '',
cf_6_poll varchar(255) NOT NULL default '',
cf_7_poll varchar(255) NOT NULL default '',
cf_8_poll varchar(255) NOT NULL default '',
cf_9_poll varchar(255) NOT NULL default '',
cf_10_poll varchar(255) NOT NULL default ''
) TYPE=MyISAM;
와 같이 테이블을 추가하고
common.php 에 아래 라인을 추가하였습니다
$adpoll = array();// 추가
$adpoll = sql_fetch(" select * from $g4[adpoll_table] ");/// 추가
그리고 config.php 에 아래를 추가
$g4['adpoll_table'] = $g4['table_prefix'] . "adpoll"; // 기본환경 설정 테이블
위와 같이하고 이용할때는 <?=$adpoll[cf_3_poll]?> 와 같이 이용하려고 했습니다..
그런데 <?=$adpoll[cf_3_poll]?> 에 저장한 데이타가 저장이 안됩니다..
<?=$adpoll[cf_3_poll]?> 에서 adpoll 이 잘못되었나...요 아니면 어디가 잘 못인지좀..부탁합니다
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 18개
폼에 의거 값변경등에 의해 저장이 아니되는 것인가요..?
아님 데이타는 있는데 출력이 안되는 것인가요..?
$adpoll = array();// 추가
을 주석처리하면 어떤가요....?
$adpoll = array();// 추가 를 주석처리해도 그렇구요
update로 처리해야 합니다만.....
전에는
##
## Table structure for table `$g4[config_table2]`
##
DROP TABLE IF EXISTS $g4[config_table2];
CREATE TABLE $g4[config_table2] (
cf_1_poll varchar(255) NOT NULL default '',
cf_2_poll varchar(255) NOT NULL default '',
cf_3_poll varchar(255) NOT NULL default '',
cf_4_poll varchar(255) NOT NULL default '',
cf_5_poll varchar(255) NOT NULL default '',
cf_6_poll varchar(255) NOT NULL default '',
cf_7_poll varchar(255) NOT NULL default '',
cf_8_poll varchar(255) NOT NULL default '',
cf_9_poll varchar(255) NOT NULL default '',
cf_10_poll varchar(255) NOT NULL default ''
) TYPE=MyISAM;
위 와 같이 한다음에 <?=$config2[cf_3_poll]?> 와 같이 이용(헐랭이님의 가르침)했는데..여러개의 필드가 구분이 잘 안되서..꼼수로 한번 다르게 해보려니 안되네요
당연히 그냥 해당 필드를 출력시키면 아무것도 안나타나지요...^^
제가 질문드린 것은 위테이블에 값을 넣어야 하지 않습니까...
그때 해당 폼에 값을 넣고 디비에 입력하는 부분 쿼리를 insert into $g4[adpoll_table] 을 하셨는지 아니면 update $g4[adpoll_table] 로 하셨는지가 궁금한 것입니다...
adm/config_form_update.php 를 변경하여 adm/config_poll_update.php 만들이 실행시키고 있습니다
새로운 테이블을 생성하셨으니 마땅히 해당테이블에 값을 입력하거나 수정하는 부분이 있어야 겠기에 그부분의 처리를 알고 싶은 것입니다.
또한 관리자화면의 기본환경설정을 통하여 변경할 수가 있습니다.
(config_form.php에서 자료를 수정하여 confog_form_update.php에서 자료를 수정해 줍니다.)
1. 위의 ()안의 내용처럼 새로 만드신 테이블을 처리하는 화일이나 부분이 있는지?
2. 있다면 해당 부분을 뿌려보세요....
<?
$sub_menu = "4009200";
include_once("./_common.php");
auth_check($auth[$sub_menu], "r");
if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.");
$g4['title'] = "기본환경설정";
include_once ("./admin.head.php");
?>
<script language="javascript">
<!--
function showimage() {
if (!document.images)
return
document.images.pictures.src="<?=$g4[path]?>/skin/poll/"+document.fconfigform.cf_3_poll.options[document.fconfigform.cf_3_poll.selectedIndex].value+"/thum_img.gif";
}
//-->
</script>
<table width=100% cellpadding=0 cellspacing=0 border=0>
<form name=fconfigform method=post action='javascript:fconfigform_submit(document.fconfigform);'>
<colgroup width=20% class='col1 pad1 bold right'>
<colgroup width=30% class='col2 pad2'>
<colgroup width=20% class='col1 pad1 bold right'>
<colgroup width=30% class='col2 pad2'>
<tr class='ht'>
<td colspan=4 align=left><?=subtitle("추가 스킨 설정")?></td>
</tr>
<tr><td colspan=4 class=line2></td></tr>
<!---//////////////////////////////-추가된 부분-시작-///////////////////////////////-------------------------------->
<tr class='bgcol3'>
<td align=left colspan=4>
<font color=#FF8000>투표 스킨설정(poll)</font>
</td>
</tr>
<tr><td colspan=4 class=line1></td></tr>
<tr class='ht'>
<td colspan=2>
<?
if($adpoll[cf_1_poll] =="left"){
$ranskcheckdd1 =" checked";
}else if($adpoll[cf_1_poll] =="right"){
$ranskcheckdd2 =" checked";
}
else if($adpoll[cf_1_poll] =="no"){
$ranskcheckdd4 =" checked";
}
?>
메인페이지 투표(cf_1_poll)</td>
<td colspan=2>
<input name="cf_1_poll" type="radio" value="left"<?=$ranskcheckdd1?>>왼쪽
<input name="cf_1_poll" type="radio" value="right"<?=$ranskcheckdd2?>> 오른쪽(포탈형)
<input name="cf_1_poll" type="radio" value="no"<?=$ranskcheckdd4?>> 출력안함
</td>
</tr>
<tr><td colspan=4 class=line1></td></tr>
<tr class='ht'>
<td colspan=2>
<?
if($adpoll[cf_2_poll] =="left"){
$ranskcheckdd4 =" checked";
}else if($adpoll[cf_2_poll] =="right"){
$ranskcheckdd5 =" checked";
}
else if($adpoll[cf_2_poll] =="no"){
$ranskcheckdd6 =" checked";
}
?>
서브페이지 투표(cf_2_poll)</td>
<td colspan=2>
<input name="cf_2_poll" type="radio" value="left"<?=$ranskcheckdd4?>>왼쪽
<input name="cf_2_poll" type="radio" value="right"<?=$ranskcheckdd5?>> 오른쪽(포탈형)
<input name="cf_2_poll" type="radio" value="no"<?=$ranskcheckdd6?>> 출력안함
</td></tr>
<tr><td colspan=4 class=line1></td></tr>
<tr>
<td colspan=2>스킨(cf_3_poll)</td>
<td colspan=2><select id=cf_3_poll name=cf_3_poll itemname="투표 스킨" onChange="showimage()">
<?
$arr = get_skin_dir("poll");
for ($i=0; $i<count($arr); $i++) {
echo "<option value='$arr[$i]'>$arr[$i]</option>\n";
}
?></select>
<script language="JavaScript"> document.getElementById('cf_3_poll').value="<?=$adpoll[cf_3_poll]?>";</script>
</td>
</tr>
<tr><td colspan=4 class=line2></td></tr>
<tr>
<td colspan=3></td>
<td align=center>
<IMG src="<?=$g4[path]?>/skin/poll/<?=$adpoll[cf_3_poll]?>/thum_img.gif" BORDER="0" ALT="" name="pictures">
</td>
</tr>
<!----추가된 부분끝--------------------------------->
<tr><td colspan=4 class=line2></td></tr>
</table>
<p align=center>
<input type=submit class=btn1 accesskey='s' value=' 확 인 '>
</form>
<script language="javascript">
function fconfigform_submit(f)
{
f.action = "./config_form_poll_update.php";
f.submit();
}
</script>
<?
include_once ("./admin.tail.php");
?>
configt_poll_update.php
<?
include_once("./_common.php");
check_demo();
if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.");
$sql = " update $g4[adpoll_table]
set cf_1_poll = '$cf_1_poll',
cf_2_poll = '$cf_2_poll',
cf_3_poll = '$cf_3_poll'
";
sql_query($sql);
goto_url("./config_form_poll.php");
?>
입니다...
<?
include_once("./_common.php");
check_demo();
if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.");
$sql = " update $g4[adpoll_table]
set cf_1_poll = '$cf_1_poll',
cf_2_poll = '$cf_2_poll',
cf_3_poll = '$cf_3_poll'
";
sql_query($sql);
goto_url("./config_form_poll.php");
?>
입니다...
에서 입력과 수정을 구분해 주셔야 합니다.
입력시에는
$sql = " insert into $g4[adpoll_table]
수정시에는
$sql = " update $g4[adpoll_table]
위와같이 하셔야 정상동작합니다. 액션 처리 부분의 화일명도 확인하십시오....
##
## Table structure for table `$g4[adpoll_table]`
##
DROP TABLE IF EXISTS $g4[adpoll_table];
CREATE TABLE $g4[adpoll_table] (
cf_1_poll varchar(255) NOT NULL default '',
cf_2_poll varchar(255) NOT NULL default '',
cf_3_poll varchar(255) NOT NULL default '',
cf_4_poll varchar(255) NOT NULL default '',
cf_5_poll varchar(255) NOT NULL default '',
cf_6_poll varchar(255) NOT NULL default '',
cf_7_poll varchar(255) NOT NULL default '',
cf_8_poll varchar(255) NOT NULL default '',
cf_9_poll varchar(255) NOT NULL default '',
cf_10_poll varchar(255) NOT NULL default ''
) TYPE=MyISAM;
2. common.php 에 아래 라인을 추가하였습니다
$config = sql_fetch(" select * from $g4[config_table] ");
$config2 = sql_fetch(" select * from $g4[adpoll_table] ");// 추가
3. config.php 에 아래를 추가
$g4['adpoll_table'] = $g4['table_prefix'] . "adpoll"; // 기본환경 설정 테이블
4. 입력 폼 화일
adm_poll_form.php
<?
$sub_menu = "100900";
include_once("./_common.php");
auth_check($auth[$sub_menu], "r");
if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.");
if($config2[cf_1_poll] == "") {
$w = "";
} else {
$w = "u";
}
$g4['title'] = "기본환경설정";
include_once ("./admin.head.php");
?>
<table width=100% cellpadding=0 cellspacing=0 border=0>
<form name=fconfigform method=post action='javascript:fconfigform_submit(document.fconfigform);'>
<input type=hidden name=w value='<?=$w?>'>
<colgroup width=20% class='col1 pad1 bold right'>
<colgroup width=30% class='col2 pad2'>
<colgroup width=20% class='col1 pad1 bold right'>
<colgroup width=30% class='col2 pad2'>
<tr class='ht'>
<td colspan=4 align=left><?=subtitle("기타 설정")?></td>
</tr>
<tr><td colspan=4 class=line1></td></tr>
<tr class='ht'>
<td colspan=4 align=left><?=subtitle("여분 필드")?></td>
</tr>
<tr><td colspan=4 class=line1></td></tr>
<? for ($i=1; $i<=10; $i=$i+2) { $k=$i+1; ?>
<tr class='ht'>
<td><input type=text class=ed name='cf_<?=$i?>_poll' value='<?=get_text($config2["cf_{$i}_poll"])?>' title='여분필드 <?=$i?> 제목' style='text-align:right;font-weight:bold;' size=15></td>
<td></td>
<td><input type=text class=ed name='cf_<?=$k?>_poll' value='<?=get_text($config2["cf_{$k}_poll"])?>' title='여분필드 <?=$k?> 제목' style='text-align:right;font-weight:bold;' size=15></td>
<td></td>
</tr>
<? } ?>
<tr><td colspan=4 class=line2></td></tr>
</table>
<p align=center>
<input type=submit class=btn1 accesskey='s' value=' 확 인 '>
</form>
<script language="javascript">
function fconfigform_submit(f)
{
f.action = "./adm_poll_form_update.php";
f.submit();
}
</script>
<?
include_once ("./admin.tail.php");
?>
5. 테이블 입력화일
adm_poll_form_update.php
<?
$sub_menu = "100900";
include_once("./_common.php");
check_demo();
auth_check($auth[$sub_menu], "w");
if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.");
$mb = get_member($config[cf_admin]);
if (!$mb[mb_id])
alert("최고관리자 회원아이디가 존재하지 않습니다.");
if($w == "" ) {
$sql = " insert into $g4[adm_poll_table]
set cf_1_poll = '$cf_1_poll',
cf_2_poll = '$cf_2_poll',
cf_3_poll = '$cf_3_poll',
cf_4_poll = '$cf_4_poll',
cf_5_poll = '$cf_5_poll',
cf_6_poll = '$cf_6_poll',
cf_7_poll = '$cf_7_poll',
cf_8_poll = '$cf_8_poll',
cf_9_poll = '$cf_9_poll',
cf_10_poll = '$cf_10_poll'
";
sql_query($sql);
} else {
$sql = " update $g4[adm_poll_table]
set cf_1_poll = '$cf_1_poll',
cf_2_poll = '$cf_2_poll',
cf_3_poll = '$cf_3_poll',
cf_4_poll = '$cf_4_poll',
cf_5_poll = '$cf_5_poll',
cf_6_poll = '$cf_6_poll',
cf_7_poll = '$cf_7_poll',
cf_8_poll = '$cf_8_poll',
cf_9_poll = '$cf_9_poll',
cf_10_poll = '$cf_10_poll'
";
sql_query($sql);
}
//sql_query(" OPTIMIZE TABLE `$g4[config_table]` ");
goto_url("./adm_poll_form.php");
?>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
위 내용 응용하셔서 하시면 됩니다.
그런데 <?=get_text($config2["cf_{$i}_poll"])?>에서 <?=get_text($adpoll["cf_{$i}_poll"])?>로는 결국 안된다는 뜻이군요.
사실 테이블을 한 20개 정도 새로 생성해야하는데...더 이상 일수도 있구요..
config2, config3 식으로 하니...구분이 좀 어려워서 <?=get_text($config2["cf_{$i}_poll"])?>
의 config2 부분을 adpoll 로 쓰고 싶었거든요
즉,,$config2 = sql_fetch(" select * from $g4[adpoll_table] ");// 추가
에서 $adpoll = sql_fetch(" select * from $g4[adpoll_table] ");// 추가
로 되지 않는가요
위에 제가 올린부분의 $config2를 $adpoll로 바꾸어서도 됩니다....^^
잘 해결되었습니다