채택완료

php 카테고리 active 활성화 코드 질문

2023-10-27 (금) 00:18:41 2,862
Copy
<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);
            $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);
            $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'].'"';
                if( $row['bo_table'] === $bo_table )
                    $current = 'class="active"';
                $str .= $current.'>'.$row['bo_subject'].'</a></li>';
            }

            echo $str;
        ?>
    </ul>

coDribble 님 코드 사용해서 그룹으로 묶어서 acitve 활성화하는 코드를 사용했는데,

이게 글자수때문인지 순서가 자기 멋대로 바뀌는데 여기서 그걸 고칠 코드를 모르겠어서요ㅠㅠ

혹시 도와주실 고수님 계실까요?!

답변 4개

채택된 답변
+20 포인트
2023-10-27 (금) 13:41:28

다음과 같이 해보시면 될 것 같습니다.

Copy
UPDATE {$g5['board_table']} SET gr_order = 1 WHERE gr_id = 'activity' AND bo_table = 'your_table_name';
2023-10-27 (금) 15:37:07

순서가 자기 멋대로 바뀌는데 ...

==

어떤 증상인가요?

order by bo_subject 로 되어있는데 이건 제목으로 정렬하니까
order by gr_id 로 하시던지 아니면 다른 고정키값으로 바꾸시면될듯

순서가 리스트의 정렬 순서를 의미한다면 그 동작은 쿼리의 order by 절에 의해 수행됩니다.

답변을 작성하려면 로그인이 필요합니다.