게시판 여분필드 bo_1에 자료 넣기 (코드 좀 봐주세요.)
본문
일반페이지에서 아래와 같이 test.php와 update.php를 만들어서,
게시판 여분필드 bo_1에 내용을 넣을려고 했는데요.
자료 저장이 되지 않아서요.
그누5/abc/test.php 의 내용을 아래와 같이 했습니다.
<form name="bluewrite" id="bluewrite" action="<?php echo $action_url ?>" onsubmit="return bluewrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" >
<input type=txt name=ex1 value='<?=$ex1?>'>
<input type=txt name=ex2 value='<?=$ex2?>'>
<input type=txt name=ex3 value='<?=$ex3?>'>
<?php $bo_1=$ex1.'|'.$ex2.'|'.$ex3; ?>
<input type="submit" value="저장" class="btn_submit" accesskey="s">
</form>
<input type=txt name=ex1 value='<?=$ex1?>'>
<input type=txt name=ex2 value='<?=$ex2?>'>
<input type=txt name=ex3 value='<?=$ex3?>'>
<?php $bo_1=$ex1.'|'.$ex2.'|'.$ex3; ?>
<input type="submit" value="저장" class="btn_submit" accesskey="s">
</form>
<script>
function bluewrite_submit(f) {
function bluewrite_submit(f) {
f.action = G5_URL."/abc/update.php";
return true;
}
}
</script>
그누5/abc/update.php 내용은 아래와 같이 구성했습니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if(!$w){
$qq=sql_fetch("SHOW COLUMNS FROM $board_table like 'bo_1' ");
if($qq[Type]=='varchar(255)')
sql_query(" ALTER TABLE $board_table CHANGE bo_1 text NOT NULL default '' ");
}
$qq=sql_fetch("SHOW COLUMNS FROM $board_table like 'bo_1' ");
if($qq[Type]=='varchar(255)')
sql_query(" ALTER TABLE $board_table CHANGE bo_1 text NOT NULL default '' ");
}
$bo_1=$deli='';
foreach($_POST as $key=>$value){
if( strpos($key, 'ex')===false) continue;
$bo_1 .=$deli.$key.'='.$value; $deli='|';
}
foreach($_POST as $key=>$value){
if( strpos($key, 'ex')===false) continue;
$bo_1 .=$deli.$key.'='.$value; $deli='|';
}
?>
답변 4
위 코드가 틀린 것은 아니고 빠진 것이 있네요
update.php
$board_table = $g4[board_table]; 첫줄에 추가
마지막 줄에 추가
sql_query("update $board_table set bo_1='$bo_1' where bo_table='사용하는게시판'");
쿼리를 잘못 날리셨어요...
테이블 내용을 수정하시려면 update문을 사용하셔야 하는데..
alter을 사용하셨네요...
alter은 해당 테이블의 속성을 변경하는데 쓰입니다.
update 테이블명 set 필드명='필드값', 필드명='필드값', 필드명='필드값', ..... where 조건
이런식으로 쓰시면 들어갈겁니다.
즉.. 원하시는 결과를 얻으시려면 alter table이하 다 지우시고
update $board_table set bo_1='$bo_1' where 바꿀 조건...
쿼리문도 틀렸지만 일단 $bo_1 값을 전달하는게 없네요
<?php $bo_1=$ex1.'|'.$ex2.'|'.$ex3; ?> 은 값을 화면에 뿌려만 주는거지 전달하지는 않습니다.
위와 같이 $ex1~3 값을 합쳐서 넣으려면 update파일에서 변수에 대입해야합니다.
그런데... 무엇을 하려는건지 이해가 잘 안되네요
bo_1 은 게시판 설정테이블의 여분필드입니다. 게시판 설정을 변경하려면 관리자페이지에서 변경하시면 됩니다.
각 게시판의 데이터를 변경하려는거면 각게시판 테이블의 wr_1 ~ wr_10 필드를 활용하시면 됩니다.
아까는 자세히 안보고 쓴거라 무시하셔도 될것 같습니다ㅜ
update.php 파일에서 쿼리 실행부분을 주석처리하고 쿼리문을 echo 로 찍어보시는게 좋을 것 같습니다.
답변을 작성하시기 전에 로그인 해주세요.