메인에서 게시판 카테고리별로 글 갯수 어떻게 가져오나요?
본문
<?
$row = sql_fetch(" SELECT bo_category_list FROM {$g5['board_table']} WHERE bo_table = '$bo_table' ");
$arr = explode("|", $row['bo_category_list']); // 구분자가 , 로 되어 있음
for ($j=0; $j<count($arr); $j++) {
?>
<li><?= $arr[$j];?></li>
<? } ?>
카테고리는 이렇게 가져왔는데
전체글갯수 & 카테고리 마다 글갯수는 어떻게 가져오나요?
도와주세요 고수님들 ㅠㅠ
!-->답변 3
이걸 한번 참고해 보시겠어요~
<?php
$row = sql_fetch("SELECT COUNT(*) AS total_count FROM {$g5['board_table']}"); // 전체 글 개수
$category_counts = array(); // 카테고리별 글 개수를 저장할 배열
for ($j = 0; $j < count($arr); $j++) {
$category = trim($arr[$j]);
$count_row = sql_fetch("SELECT COUNT(*) AS category_count FROM {$g5['board_table']} WHERE bo_table = '$bo_table' AND 카테고리_필드명 = '$category'");
$category_count = $count_row['category_count'];
$category_counts[$category] = $category_count;
}
?>
<!-- 전체 글 개수 출력 -->
<p>전체 글 개수: <?= $row['total_count'] ?></p>
<!-- 각 카테고리별 글 개수 출력 -->
<ul>
<?php foreach ($category_counts as $category => $count): ?>
<li><?= $category ?> 글 개수: <?= $count ?></li>
<?php endforeach; ?>
</ul>
ca_name 등 해당 카테고리의 필드명 입니다.
다음처럼 처리할수 있지만
테이블 데이터 전체를 훑는 행위이기 때문에
복제 슬레이브 DB 나 로컬 환경에서 조회해야 적합하고
실서비스 용도로는 추천드리지 않습니다.
$write_table = $g5['write_prefix'] . $bo_table;
$sql = " SELECT ca_name, COUNT(1) AS cnt FROM ${write_table} GROUP BY ca_name WITH ROLLUP ";
$result = sql_query($sql);
print('<pre>');
while ($row = sql_fetch_array($result)) {
if (is_null($row['ca_name']) == true) {
$row['ca_name'] = 'ALL';
}
print_r($row);
}
print('</pre>');