$write_table 을 사용하려면 어떻게 해야 하나요? 채택완료
잘되가다 이것때문에 막히게 생겨서 급히 질문을 드려봅니다^^
보통 게시판 스킨파일들에서는 $write_table 을 이용하면 get_write() 함수를 이용해서
현재 게시판에 대한 정보를 가져다 사용할수 있는데
그런데
게시판 스킨이 아닌 독립형 php 파일을 코딩할때 특정 게시판의 정보를 참조하고 싶을때에는
어떻게 해야 get_write() 함수를 이용할수 있는지 궁금합니다.
불러올 게시판 테이블이 유동적일 수 있습니다.
그렇기 때문에 직접적인 쿼리는 불가능하구요
DB에 저장된 bo_table 명을 가져다 사용 할 수 있도록 설계되어있습니다.
혹시나 해서
상단에 $bo_table 값을 지정해주고 get_write($write_table,"필드명1,필드명2..");
이런식으로 해줬더니 아무것도 가져오질 못하네요
혹시 $write_table 변수 정의를 해줘야 하는건가요?
해줘야 되면 어떻게 해줘야 할까요?
답변 2개
그누보드5 루트 디렉토리에 들어있는데 common.php 파일을 include 시켜야 합니다.
include_once('./common.php');
또는
include_once('./_common.php');
입니다.
폴더 위치가 다른 경우에는
include_once('../common.php');
include_once('../../common.php');
이런 형태로 상대경로를 넣으셔도 될 듯 합니다.
아쉽게도
include_once(G5_PATH.'/common.php'); 는 사용할 수 없는데요.
왜냐하면 G5_PATH 라는 디파인 상수는 common.php 에서 디파인 되기 때문에
common.php 를 include 시킨 후에 사용가능하기 때문입니다.
답변에 대한 댓글 2개
인쿠르드에 대한 질문이 아니었고
덧글 주신 부분에 대한 질문이었네요
common 참조 전에 정의 해줘야 하는군요 음....
고민좀 해봐야겠습니다
답변 감사합니다 ㅎㅎ
댓글을 작성하려면 로그인이 필요합니다.
get_write() 가 선언된 function 을 불러오는 방법과
다시 선언하는 방법이 있습니다.
function call 을 하게 된다면 우선 get_write() 가 선언된 class 를 인클루드 하는방법이 있구요.
이 부분은 재사용성으로 인해 개발이 편할것입니다.
그게 아니라 다시 선언한다면 get_write() 에 선언된 내용을 그대로 copy 하셔서 현재 작업하시는 부분에 첨부 하시면 됩니다.
기존 테이블의 연동성 처럼 사용을 하시고 싶으시다면 제가 생각했을때
현재 그누에서 사용하는 부분을 base class 로 선언하고
각각 작업하는 부분에 각각의 클래스를 선언 해당 base class 를 extension 하는게 좋을거 같네요.
(이후 추가 구현에도 편리해지고)
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
$write_table 을 사용하려면
get 이나 post 로 $_GET['bo_table'] $_POST['bo_table'] 값이 존재해야 합니다.
(또한 개설된 게시판이기도 해야 되겠죠.)
그누보드 게시판 url 을 보면
bbs/board.php?bo_table=???? 이렇게 쿼리스트링으로 받아오는걸 GET 형식이라 해서
$_GET['bo_table'] 변수에 ???? 값이 들어가게 된 것입니다.
쿼리스트링이나 폼으로 POST 전송을 사용하지 않고 사용하려고 한다면
<?php
$_GET['bo_table'] = ????;
include_once('./common.php');
?>
이 코드를 최상단에 넣으시게 되면,
자동으로 그 문서는 bo_table 값이 ???? 인 게시판 관련 페이지로 인식하게 되며
$write_table : 게시판의 db table 명
$bo_table : 게시판의 bo_table 값
$board : 게시판 환경설정 array
등등 게시판 관련 변수를 사용할 수 있게 됩니다.