카테고리 가로로 출력하면서 임의의 칸수로 배열하기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

카테고리 가로로 출력하면서 임의의 칸수로 배열하기 정보

카테고리 가로로 출력하면서 임의의 칸수로 배열하기

본문

벌써 올라온 팁인지도 모르겠네요;;

게시판 상단에 카테고리를 가로로 출력할 때 카테고리 갯수가 많아지면 행이 바뀌면서 미관상 안 좋아 보이죠. 그래서 만들었습니다. (알아냈습니다-_-;)
테이블<td>를 원하는 칸수대로 카테고리를 깔끔하게 뽑아낼 수 있다고 봅니다.

html은 제가 적용한 그대로이니까 적당히 손보시기 바랍니다.


<?
echo "<table width=100% cellpadding='0' cellspacing='5' style='margin:0 0 10 0;border:solid coral 1px;'>";
$ca_menu = explode("|",$board[bo_category_list]);
$td = "5"; //가로칸수. 원하는 칸수만큼 지정해주면 됩니다.
$td_width = 100 / $td ; // <td width='%'>값
for ($c=0, $cnt=count($ca_menu); $c<$cnt; $c++) {
if (($c == "0") || (($c >= $td) && ($c % $td == "0"))) { echo "<tr>"; }
echo "<td width='".$td_width."%'><li>";
if ($sca == $ca_menu[$c]) { $bcoral = "<b style='color:coral'>"; } else { $bcoral = ""; }
echo "<a href='{$g4['bbs_path']}/board.php?bo_table=$bo_table&sca=".urlencode($ca_menu[$c])."'>{$bcoral}{$ca_menu[$c]}</a></td>";
}
echo "</tr></table>";
?>


초보님들을 위한 첨언입니다. (좀 더 응용하시라고....사실은 시간이 많아서;;)

위 소스에서 아래 부분이 핵심입니다.

if (($c == "0") || (($c >= $td) && ($c % $td == "0"))) { echo "<tr>"; }

그중에서도 $c % $td == "0" 바로 이 부분.
저도 이 작업하면서 %란 연산자를 알았네요. (앞 변수에서 뒷 변수를 나눈 나머지값)
그러니까 이건 $c를 $td로 나눈 나머지 값이 "0"이란 뜻입니다. 즉 딱 떨어지는 값, $c가 $td의 정배수란 거죠. ($td = "5"; //가로칸수)

그래서 핵심이라고 소개한 저 소스를 말로 풀면 이렇게 됩니다.

만약 $c가 "0"이거나 (즉 처음 나오는 카테고리거나)
$c가 5 이상이면서 5의 배수일 때 (즉 6번째 11번째 16번째 카테고리일 때)
<tr>을 붙여주시오.



주의. $c는 0부터 시작하기 때문에 실제 배열상으론

$c = 0 이면 1번째 카테고리
$c = 1 이면 2번째 카테고리
...................
$c = 5 이면 6번째 카테고리
..................
$c = 10 이면 11번째 카테고리

이렇게 됩니당~


갤러리 게시판이나 쇼핑몰 등도 이런 식으로 가로출력을 하겠죠^^


거듭 말씀드리지만 철저히 초보분들을 위한........-_-;
추천
0

댓글 8개

전체 53 |RSS
그누4 팁자료실 내용 검색

회원로그인

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