php for문으로 불러오는 카테고리에서 활성화 적용 채택완료
게시판 그룹 A 을 만들고
게시판 13개를 그룹A로 묶은 상태에서 스킨은 1개로 사용중입니다.
카테고리로 안쓰고 각각의 게시판을 13개로 만들다보니 탭메뉴 형식의 카테고리를 for문으로 불러와봤는데 활성화 적용이 어렵네요...;;
</p>
<p><ul class="activity-tab">
<?php
$sql = " select count(*) as cnt from {$g5['board_table']} where gr_id = 'activity' order by bo_subject "; // 게시판 중에 gr_id 가 activity 인 게시판들의 개수를 불러옴
$row = sql_fetch($sql);</p>
<p> $sql = " select bo_table, bo_subject from {$g5['board_table']} where gr_id = 'activity' order by bo_subject "; // 그룹이 acitivity인 게시판들의 bo_table, bo_subject 를 가져옴
$result = sql_query($sql);</p>
<p> $str = '';
for($i=0;$row=sql_fetch_array($result);$i++){ // for문으로 카테고리를 생성
$str .= '<li><a href="/bbs/board.php?bo_table='.$row['bo_table'].'" title="'.$row['bo_subject'].'"';</p>
<p> if( $row['bo_table'] === $bo_table )
$current = 'class="active"';</p>
<p> $str .= $current.'>'.$row['bo_subject'].'</a></li>';
}
// while($row = sql_fetch_array($result)) {
// if( $row['bo_table'] === $bo_table )
// $current = 'active';</p>
<p> // $str .= '<li><a href="/bbs/board.php?bo_table='.$row['bo_table'].'" title="'.$row['bo_subject'].'" class="'.$current.'">'.$row['bo_subject'].'</a></li>';
// }</p>
<p> echo $str;
?>
</ul></p>
<p>
다른 페이지들에서 for문, while문, sql 쿼리 등등을 조합해서 가져와봤는데
리스트는 잘 만들어졌습니다..;; 근데 for문이든 while문이든...
$row['bo_table'] === $bo_table 이면 active 클래스를 줘서 활성화를 표시해주려 했는데
적용이 안되고 있습니다...;;ㅠㅠㅠ
/bbs/list.php 페이지 보면 카테고리도 for문안에서 id="bo_cate_on" 을 주길래
따라해본건데 안되네요;;
어느 부분을 고쳐야할까요...??ㅠㅠㅠ
답변 2개
굳이 current 를 둔이유는 모르지만 이렇게만 하셔도 되지 싶습니다.
</p>
<p>$current = 'class="active"' ==> $str .= 'class="active"'</p>
<p>
그리고 어떻게 안되나요?
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
탭 활성화는 기본 탭(첫번째 탭)을 활성화 하고 스크립트로 나머지 활성화는 처리해 보세요.
해당 페이지가 예를 들어 tablatest.php 라는 페이지로 되어 있고 탭마다 tablatest.php?bo_table=tablename
와 같이 bo_table을 get으로 받아오는게 아니라면 php로 탭 active 처리는 안됩니다.
답변에 대한 댓글 3개
탭모양을 가장한 페이지 인식인 셈이죠...;;
그래서 $bo_table 로 현재 게시판의 테이블명을 받아오고,
$row['bo_table'] 에서 같은 명이 있으면 active 를 주려는 거였는데...
이런식으로 페이지 인식도 안되려나요....??
$active = "";
if($row['bo_table'] == $bo_table){
$active = "class='active'";
}
$str .= '<li><a href="/bbs/board.php?bo_table='.$row['bo_table'].'" title="'.$row['bo_subject']" '.$active.'>'.$row['bo_subject'].'</a></li>';
처럼 하면 될듯 한데 위 코드는 탭링크를 게시판으로 바로 보내는 링크라서
if($row['bo_table'] == $bo_table){
조건이 안먹습니다.
링크를 최신글 탭이 실행되는 페이지로 하세요.
빠른 답변 감사드립니다ㅠㅠㅠ
@백수1995 님께서 알려주신 방법으로 하니 잘 적용되었습니다...
제가 생각이 조금 짧았던거 같아요...;;
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
[code]
if( $row['bo_table'] === $bo_table )
$str .= 'class="acitve"';
[/code]
알려주신대로 하니 잘 되네요...
아... 생각이 쫌 짧았었네요... $current 를 만들고나서...
나중에 $str .= $current 를 하니깐... 모든 a태그에 active 클래스가 모두 적용되는거였네요;;
감사합니다!!ㅠㅠㅠ