통합게시판으로 게시판명 불러오기

통합게시판으로 게시판명 불러오기

QA

통합게시판으로 게시판명 불러오기

본문

제가 여러 게시판을 묶어서 통합게시판을 만들어 각 게시글들과, 테이블명을 불러오려고 합니다.

여러개의 테이블을 union all 로 통합을 했거든요

g5_board에서 테이블명을 가져오려고 하는건데

 

근데 g5_write_테이블과, g5_board 디비는 서로 공유하고 있는 필드가 없는데 어떻게 테이블명을 가져올까요?

 

결국은 저는 union all로 통합한 g5_write 게시판들의 게시판 명을 가져와서 이 전체 통합한 게시판을 페이징 처리 하려고 합니다.

 

아래와 같이 테이블을 배열로 넣고

 


$tableList = array("g5_write_B01","g5_write_B02");  
 
//g5_write_를 자르고 테이블 명만 남김
			$bo_table_name[0] = substr($tableList[0], -10, 12);
 
//아래는 union all로 통합하는 쿼리
			$sql = "(select * from ".$tableList[0]." as t, g5_board as b where b.bo_table=".$bo_table_name[0].")";
 
			for($i = 1; $i < count($tableList); $i++) { 
				$bo_table_name[$i] = substr($tableList[$i], -10, 12);
				$sql .= " union all (select * from ".$tableList[$i]." as t, g5_board as b where b.bo_table=".$bo_table_name[$i].")" ; 
			}
				$sql .= " limit {$from_record}, {$rows}";
 

 

위처럼 해봤는데 아무것도 뜨지 않습니다.

 

 

아래와 같이 하면 $tableList[$i] 안에 있는 게시글 제목만 출력이 됩니다.

저는 각 게시글에서 게시판명도 필요하거든요!

어떻게 하면 통합으로 묶어진 g5_write에서 게시판명을 가져와서 출력할 수 있을까요?

 


			$sql = "(select * from ".$tableList[0].")";
 
			for($i = 1; $i < count($tableList); $i++) { 
				$sql .= " union all (select * from ".$tableList[$i].")" ; 
			}
				$sql .= " limit {$from_record}, {$rows}";
 

 

아니면 가상 필드를 만들어서 각 투플마다 해당 게시판의 이름을 넣는다던지 이런 방법이 있을까요?

 

제가 초보라 자세한 답변 주시면 감사하겠습니다..  !!:)

이 질문에 댓글 쓰기 :

답변 2

http://sir.kr/g5_tip/4103 

여기에 보시면, 여러개의 게시판에서 글을 가져오는 방법이 있습니다. 

참고해 보세요. 

 


$boards = $u_query = array();
$query = my_sql_query("SELECT bo_table, bo_subject FROM g5_board");
while($rows = my_sql_fetch_array($query)) {
    $boards[$rows['bo_table']] = $rows['bo_subject'];
}
foreach($boards as $bo_table => $bo_subject) {
    $u_query[] = "SELECT wr_id, wr_subject, '".$bo_table."' AS tbl, '".$bo_subject."' AS nm FROM g5_write_".$bo_table." WHERE wr_is_comment = 0";
}
$query_str = implode(" UNION ALL ", $u_query);
$query = "SELECT * FROM (".$query_str.") AS mytbl ORDER BY wr_id DESC";
$result = mysql_query($query);
while($rows = mysql_fetch_array($result)) {
    echo $rows['tbl']." : ".$rows['nm']." : ".$rows['wr_subject']."<br />";
}

참고로 그누에서 제공하는 함수(sql_*)는 union은 안 먹히게 되어 있습니다. 

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

회원로그인

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