wr_ 여분필드 추가 채택완료
안녕하세요, phpmyadmin 을 통해서가 아닌 그냥 bbs등 파일 수정하여 여분필드 추가하는 방법이 있을까요?
wr_15까지만 추가하려 합니다!
분명 예전에 했을땐 된 것 같았는데.. 일단 추가 및 변경한 내용은
//bbs - write.php
</p>
<p>if ($w == 'u' || $w == 'r') {
if ($write['wr_id']) {
// 가변 변수로 $wr_1 .. $wr_10 까지 만든다.
for ($i=1; $i<=15; $i++) {
$vvar = "wr_".$i;
$$vvar = $write['wr_'.$i];
}
} else {
alert("글이 존재하지 않습니다.\\n삭제되었거나 이동된 경우입니다.", G5_URL);
}
} else if ($w == '') { // 게시글 입력시에도 $wr_1 ~ $wr_10 변수 사용시 오류 나오지 않도록 가변변수 생성 (다온테마님,210806)
for ($i=1; $i<=15; $i++) {
$vvar = "wr_".$i;
$$vvar = '';
}
}</p>
<p>
//bbs - write_update.php
</p>
<p> $sql = " insert into $write_table
set wr_num = " . ($w == 'r' ? "'$wr_num'" : "(SELECT IFNULL(MIN(wr_num) - 1, -1) FROM $write_table as sq) ") . ",
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$wr_option',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_seo_title = '$wr_seo_title',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '{$member['mb_id']}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10',
wr_11 = '$wr_11',
wr_12 = '$wr_12',
wr_13 = '$wr_13',
wr_14 = '$wr_14',
wr_15 = '$wr_15' ";</p>
<p> sql_query($sql);</p>
<p>
</p>
<p> $sql_ip = '';
if (!$is_admin)
$sql_ip = " , wr_ip = '{$_SERVER['REMOTE_ADDR']}' ";</p>
<p> $sql = " update {$write_table}
set ca_name = '{$ca_name}',
wr_option = '{$wr_option}',
wr_subject = '{$wr_subject}',
wr_content = '{$wr_content}',
wr_seo_title = '$wr_seo_title',
wr_link1 = '{$wr_link1}',
wr_link2 = '{$wr_link2}',
mb_id = '{$mb_id}',
wr_name = '{$wr_name}',
wr_email = '{$wr_email}',
wr_homepage = '{$wr_homepage}',
wr_1 = '{$wr_1}',
wr_2 = '{$wr_2}',
wr_3 = '{$wr_3}',
wr_4 = '{$wr_4}',
wr_5 = '{$wr_5}',
wr_6 = '{$wr_6}',
wr_7 = '{$wr_7}',
wr_8 = '{$wr_8}',
wr_9 = '{$wr_9}',
wr_10= '{$wr_10}',
wr_11= '{$wr_11}',
wr_12= '{$wr_12}',
wr_13= '{$wr_13}',
wr_14= '{$wr_14}',
wr_15= '{$wr_15}'
{$sql_ip}
{$sql_password}
where wr_id = '{$wr['wr_id']}' ";
sql_query($sql);</p>
<p>
그리고 특정 게시판 스킨에
</p>
<p><?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$wr_5 = implode(' ', $_POST['check1']);
sql_query(" update $write_table set
wr_5 = '$wr_5',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10',
wr_11 = '$wr_11',
wr_12 = '$wr_12',
wr_13 = '$wr_13',
wr_14 = '$wr_14',
wr_15 = '$wr_15'
where wr_id = '$wr_id' ");
?></p>
<p>
이런식으로 추가하였는데, 일단 여분필드 추가도 되지 않을 뿐더러 글을 새로 작성하면 그 글이 보이지 않습니다 ㅠㅠ(게시판 글 카운팅은 또 됩니다..)
phpmyadmin 으로 추가했더니 또 게시판 카테고리 적용이 안되서.. 껄껄... 예전에 성공했던 방식대로 그냥 bbs만 건들였는데 안되네용.. 똥손인 디블리셔가 문의드립니다.
참고로 서버환경은 UTF-8 (PHP7.3, mariadb-10.x) 로, 카페24통해서 그누보드 설치했습니다.
뭐든 답변주시면.. 매우 감사하겠습니다. .ㅠㅠ
답변 3개
이거 쓰세요...
phpmyadmin 즉 데이터베이스에 추가하지 않으면 무슨짓을 해도 안됩니다.
쉽게 말해, 집에 여유 공간을 만들어두지 않고, 거기에 무언갈 넣을려고 해도 들어가지 않는 것과 같습니다.
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
파일 상단에서
원하는 테이블의 wr_15 존재 여부를 판단하고,
없으면 wr_11~wr_15 가 없다고 생각하고
ALTER TABLE g5_write_free
ADD COLUMN `wr_11` VARCHAR(255) NOT NULL AFTER `wr_10`;
이런식으로 add column 쿼리를 php 에서 실행해서 컬럼 생성해줄수 있어요
매번 실행되지않도록 wr_15 컬럼 유무를 확인후에 실행해야 ,
이미 wr_15 가 생성 된 후에는 따로 쿼리를 실행 안할수 있어요
그누보드 최초 설치할때 DB에 테이블이 없지만 php 에서 테이블 구조 잡아주는 방식하고
비슷하게요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인