wr_ 여분필드 추가

wr_ 여분필드 추가

QA

wr_ 여분필드 추가

본문

 

 안녕하세요, phpmyadmin 을 통해서가 아닌 그냥 bbs등 파일 수정하여 여분필드 추가하는 방법이 있을까요?

wr_15까지만 추가하려 합니다!

분명 예전에 했을땐 된 것 같았는데.. 일단 추가 및 변경한 내용은

 

//bbs - write.php


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 = '';
    }
}

 

//bbs - write_update.php


  $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' ";
    sql_query($sql);

    $sql_ip = '';
    if (!$is_admin)
        $sql_ip = " , wr_ip = '{$_SERVER['REMOTE_ADDR']}' ";
    $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);

 

 그리고 특정 게시판 스킨에


<?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' ");
?>

 

 이런식으로 추가하였는데, 일단 여분필드 추가도 되지 않을 뿐더러 글을 새로 작성하면 그 글이 보이지 않습니다 ㅠㅠ(게시판 글 카운팅은 또 됩니다..)

 

 phpmyadmin 으로 추가했더니 또 게시판 카테고리 적용이 안되서.. 껄껄... 예전에 성공했던 방식대로 그냥 bbs만 건들였는데 안되네용.. 똥손인 디블리셔가 문의드립니다.

 참고로 서버환경은 UTF-8 (PHP7.3, mariadb-10.x) 로, 카페24통해서 그누보드 설치했습니다.

 

 뭐든 답변주시면.. 매우 감사하겠습니다. .ㅠㅠ

이 질문에 댓글 쓰기 :

답변 3

https://sir.kr/g5_tip/13363 

 

이거 쓰세요...

 

phpmyadmin 즉 데이터베이스에 추가하지 않으면 무슨짓을 해도 안됩니다.

 

쉽게 말해, 집에 여유 공간을 만들어두지 않고, 거기에 무언갈 넣을려고 해도 들어가지 않는 것과 같습니다.

파일 상단에서 

원하는 테이블의 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 에서 테이블 구조 잡아주는 방식하고

비슷하게요

wr_11~15 여분 필드 생성이 제대로 되어 있는지 확인해 보세요

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

회원로그인

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