카테고리 가로로 출력하면서 임의의 칸수로 배열하기 정보
카테고리 가로로 출력하면서 임의의 칸수로 배열하기관련링크
http://없;;
177회 연결
본문
벌써 올라온 팁인지도 모르겠네요;;
게시판 상단에 카테고리를 가로로 출력할 때 카테고리 갯수가 많아지면 행이 바뀌면서 미관상 안 좋아 보이죠. 그래서 만들었습니다. (알아냈습니다-_-;)
테이블<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번째 카테고리
이렇게 됩니당~
갤러리 게시판이나 쇼핑몰 등도 이런 식으로 가로출력을 하겠죠^^
거듭 말씀드리지만 철저히 초보분들을 위한........-_-;
게시판 상단에 카테고리를 가로로 출력할 때 카테고리 갯수가 많아지면 행이 바뀌면서 미관상 안 좋아 보이죠. 그래서 만들었습니다. (알아냈습니다-_-;)
테이블<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
0
댓글 8개

초보를 위한 배려에 감사드립니다.미관상 꼭 필요한 팁이군요^^
감사합니다^^

전 초보가 아닌가봐요..
이렇게까지 초보를 배려하셨는데도..전 도무지...몰라요.....
이렇게까지 초보를 배려하셨는데도..전 도무지...몰라요.....
하이개그시군요^^
감사합니다.
쉽게 해결 했습니다. 감사합니다
카테고리가로 동영상에 사용할 것
dd