r

리스트에서 selec로 된 카테고리(분류)를 한줄로 처리하도록....

gnu_category.png
1. lib/developer.lib.php에 다음 내용을 추가한다.
function get_category_list($table,$loc)
{
global $cfg, $stext;

$sql = " select * from {$table}_cat order by ca_id ";
$result = sql_query($sql);

if(!$stext){
$str = "<b>[ <a href=$loc>전체 </a> ]</b> ";
} else {
$str = "[ <a href=$loc>전체</a> ] ";
}
while ($row = mysql_fetch_array($result)) {
if($stext == $row[ca_id]) $str .= "<b>";
$str .= " [ <a href=$loc$row[ca_id]>".get_category_name($table,$row[ca_id])."</a> ] ";
if($stext == $row[ca_id]) $str .= "</b>";
}
mysql_free_result($result);

return $str;
}
2. 게시판 스킨 디렉토리에있는 gblist.skin.php을 다음과 같이 수정한다.
아래의 수정전 내역을 수정후와 같이 바꾸셔도되고,
수정전 파일의 앞뒤에 html 주석을 처리를 하고 수정후를 추가하셔도 됩니다.
수정전 :
<!-- // html 주석으로 처리하고자 할경우
<? if ($is_category) { ?>
<select name=ca_id onchange="location='<?=$category_location?>'+this.value;" class=select>
<option value=''>전체</option>
<?=$category_option?>
</select>
<? } ?>
// html 주석으로 처리하고자 할경우 -->
수정후 :
<?
if ($is_category) {
echo "<input type=hidden name=ca_id>";
echo get_category_list("$cfg[write_table_prefix]$bo_table",$category_location);
}
?>

첨부파일

gnu_category.png (4.9 KB)
36회 2004-02-18 22:21
|

댓글 9개

좋은 자료 감사합니다.
답변 감사 드립니다 ~~~^^
잘 적용해 볼게요~~~
즐거운 크리스마스가 되셨는지 궁금 하네요~~~^^ㅎㅎㅎㅎ
카리고리에서 임의의 갯수다음에 <br>을 설정하고 싶으면 다음 글 참조
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=qa&wr_id=13446
다음팁"카리고리에 새로운글 표시기능"을 참조하세요.
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&sselect=wr_subject&stext=%C4%AB%C5%D7%B0%ED%B8%AE+%BA%D0%B7%F9&soperator=0&page=1&wr_id=1213
root님~~!!
몇일을 머리굴리다 않되어서 여쭈어 보는데요~~~^^;;
지금 이부분에서 카테고리별로 최신글을 뿌려줄수는 없나요~~~?

일반 질문 답변 알림 <-------카테고리이름
*기냥 *묻자 *대답 *참고 <--------카테고리별 최신글
*테스트 *물음 *또대답 *이것

이런씩으로 말입니다...
이것때문에 몇일을 씨름 하고 있거든요~~~쩝~~~
이 기능은 많이들 쓰시네요. 좋습니다. 추천!
get_category_list에서
1. 카테고리 내용의 font color를 수정하고자 할경우는 다음처럼 하세요.

function get_category_list($table,$loc)
{
global $cfg, $stext;

$sql = " select * from {$table}_cat order by ca_id ";
$result = sql_query($sql);

if(!$stext){
$str = "<b>[ <a href=$loc><font color=0099cc>전체</font></a> ]</b> ";
} else {
$str = "[ <a href=$loc><font color=0099cc>전체</font></a> ] ";
}
while ($row = mysql_fetch_array($result)) {
if($stext == $row[ca_id]) $str .= "<b>";
$str .= "&nbsp;&nbsp;[ <a href=$loc$row[ca_id]><font color=0099cc>".get_category_name($table
,$row[ca_id])."</font></a> ] ";
if($stext == $row[ca_id]) $str .= "</b>";
}
mysql_free_result($result);

return $str;
}
?>

2. 그리고 카테고리 항목과 항목 사이에 공백을 추가 하고자 할경우 위 1번소스의 다음 부분을 수정
=> "$str. = "과 "[ <a href" 사이에 &nbsp;(공백문자)를 추가하시면 됩니다.
$str .= "&nbsp;&nbsp;[ <a href=$loc$row[ca_id]><font color=0099cc>".get_category_name($table
,$row[ca_id])."</font></a> ] ";
blink를 적용한 get_category_list().............................

function get_category_list($table,$loc)
{
global $cfg, $stext;

$sql = " select * from {$table}_cat order by ca_id ";
$result = sql_query($sql);

if(!$stext){
$str = "<b><blink>[</blink> <a href=$loc> &#192;&#252;&#195;¼ </a> <blink>]</blink></b> ";
} else {
$str = "[ <a href=$loc> &#192;&#252;&#195;¼ </a> ] ";
}
while ($row = mysql_fetch_array($result)) {
if($stext == $row[ca_id]) $str .= " <b><blink>[</blink> ";
else $str .= " [ ";
$str .= " <a href=$loc$row[ca_id]>".get_category_name($table,$row[ca_id])."</a> ";
if($stext == $row[ca_id]) $str .= " <blink>]</blink></b> ";
else $str .= " ] ";
}
mysql_free_result($result);

return $str;
}
위의 카테고리(분류)가 넘 단조롭다면 깜빡거리는 기능을 부여하는것도 좋겠죠
깜빡거리게 하고 싶은 곳에을 <blink></blink>로 감쏴 주시면 됩니다.
선택된 전체가 깜빡이게 하고 시퍼면
수정전 : $str = "<b>[ <a href=$loc>전체 </a> ]</b> ";
수정후 : $str = "<b><blink>[</blink> <a href=$loc>전체 </a> <blink>]</blink></b> ";

이렇게만 하면 네스케이프나 모질라에서만 깜빡거리겠죠...

익스에서도 깜빡이게 하고시퍼면... 스킨 gblist.skin.php위에 다음을 추가해주세요.
<?
/*******************************************************/
// 다음의 스크립터는 <blink></blink> 처리를 위한것이다.
// 350은 깜박이는 속도. (높은 수일수록 깜박이는 속도 느림)
/*******************************************************/
print "<script language=JavaScript>\n";
print " function doBlink() {\n";
print " var blink = document.all.tags(\"BLINK\")\n";
print " for (var i=0; i < blink.length; i++)\n";
print " blink[i].style.visibility = blink[i].style.visibility == \"\" ? \"hidden\" : \"\"\n";
print " }\n";
print " function startBlink() {\n";
print " if (document.all)\n";
print " setInterval(\"doBlink()\",350)\n";
print " }\n";
print " window.onload = startBlink;\n";
print "</script>\n";
?>
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누3 팁자료실

+
제목 글쓴이 날짜 조회
22년 전 조회 3,143
22년 전 조회 2,180
22년 전 조회 2,048
22년 전 조회 1,940
22년 전 조회 3,433
22년 전 조회 2,122
22년 전 조회 2,613
22년 전 조회 2,457
22년 전 조회 2,901
22년 전 조회 5,081
22년 전 조회 2,846
22년 전 조회 2,903
22년 전 조회 1,857
22년 전 조회 2,770
22년 전 조회 2,450
22년 전 조회 1,802
22년 전 조회 2,345
22년 전 조회 1,727
천풍
22년 전 조회 1,678
22년 전 조회 2,193
🐛 버그신고