bo_table에 게시판 정보가져오기 어떻게 하나요?
본문
아래와 같은 코드를 작성하여 bo_table에서 게시판 정보를 가져와서 배열로 저장하고자 합니다 그런데 정보를 가져와서 저장은 되는데 홈페이지가 깨져서 출력이 되질 않습니다 아래는 출력된 내용이고요 그 아래는 아래 내용을 출력하기 위한 코드입니다~ 어디가 문제 일까요?현재 처리 중인 bo_table: ai_qa
현재 처리 중인 bo_table: faq
현재 처리 중인 bo_table: free
현재 처리 중인 bo_table: gallery
현재 처리 중인 bo_table: notice
현재 처리 중인 bo_table: qa
현재 처리 중인 bo_table: tag
현재 처리 중인 bo_table: tip
게시판 ID: ai_qa, 이름: AI 와 문답 게시판
게시판 ID: faq, 이름: faq
게시판 ID: free, 이름: 자유게시판
게시판 ID: gallery, 이름: 갤러리
게시판 ID: notice, 이름: 공지사항
게시판 ID: qa, 이름: 질문답변
게시판 ID: tag, 이름: tag 게시판
게시판 ID: tip, 이름: Tip 게시판
<?php
// 게시판 id 추출
$result = sql_query('SELECT group_concat(bo_table) AS board_name FROM g5_board');
$row = sql_fetch_array($result);
// 게시판 ID 배열로 변환
$board_ids = explode(',', $row['board_name']); // ','로 구분된 문자열을 배열로 변환
//print_r($board_ids); // 게시판 ID 배열 출력
// 게시판 목록을 가져오는 코드
$boards = []; // 기본값으로 빈 배열 초기화
// 각 게시판 ID에 대해 정보를 가져오기
foreach ($board_ids as $bo_table) {
echo "현재 처리 중인 bo_table: {$bo_table}<br>"; // 현재 처리 중인 bo_table 출력
// bo_table과 bo_subject를 가져오는 쿼리로 수정
$result = sql_query("SELECT bo_table, bo_subject FROM g5_board WHERE bo_table = '{$bo_table}'");
while ($row = sql_fetch_array($result)) {
// bo_table과 bo_subject를 객체 형태로 배열에 추가
if (!empty($row['bo_subject'])) {
$boards[] = (object) [
'id' => $row['bo_table'], // bo_table을 ID로 사용
'name' => $row['bo_subject'] // bo_subject를 이름으로 사용
];
}
}
}
// 게시판 목록 출력 전에 배열의 상태 확인
foreach ($boards as $board) {
echo "게시판 ID: " . htmlspecialchars($board->id) . ", 이름: " . htmlspecialchars($board->name) . "<br>";
}
?>
화면상으로 오류가 없지만 페이지소스보기하면 가장 아래에 다음과 같은 오류뜹니다
b>Fatal error</b>: Uncaught Error: Cannot use object of type stdClass as array in /var/www/html/theme/dw_bootstrap/skin/board/da_tag/list.skin.php:152
Stack trace:
#0 /var/www/html/bbs/list.php(269): include_once()
#1 /var/www/html/bbs/board.php(231): include_once('...')
#2 {main}
thrown in <b>/var/www/html/theme/dw_bootstrap/skin/board/da_tag/list.skin.php</b> on line <b>152</b><br />
위에서 152 라인은 <caption><?php echo $board['bo_subject']; ?> 목 록</caption> 입니다
!-->!-->답변 2
그누보드면 기본으로 현재 게시판에 대한 정보가 $board 변수에 배열로 들어가 있습니다. 따로 하실 필요가 없습니다.
기 사용중인 $board가 있어서 그런것같은데 foreach 쪽 $board를 $bd 형태로 변경해보시면 될것같습니다.