테스트 사이트 - 개발 중인 베타 버전입니다

그룹최신글에서 게시판 제목마다 색상바꾸는 방법

· 14년 전 · 1433 · 2
그룹내 게시판전체의 최신글을 가져오는 <그룹최신글>스킨 입니다.

<?
if (!defined("_GNUBOARD_")) exit;
global $member, $is_admin; // 권한지정등을 위해서 변수선언 3-1 -- */
?>

<table width="100%" cellpadding="0" cellspacing="0" border="1">
<?
for ($k=0; $k<count($list); $k++) {
if ($k > 0) {
echo "<tr><td colspan=2 height=1 class='dot_line'></td></tr>";
}
?>
<tr>
<td width="290" height="24" align="left">
<?
/* -- 테이블명에 따른 게시판제목색상지정 {사용되는 게시판명 설정}-- */
if($list[$k][bo_table] == $list[0][bo_table]) {
$sub_color = "#990000";
}else if($list[$k][bo_table] == $list[1][bo_table]) {
$sub_color = "#006699";
}else if($list[$k][bo_table] == $list[2][bo_table]) {
$sub_color = "#006600";
}else if($list[$k][bo_table] == $list[3][bo_table]) {
$sub_color = "#555555";
}else if($list[$k][bo_table] == $list[4][bo_table]) {
$sub_color = "#9900CC";
}else if($list[$k][bo_table] == $list[5][bo_table]) {
$sub_color = "#777777";
}else {
$sub_color = "#333333";
}

/* 게시판명 */
echo "[<font color='{$sub_color}'>". $list[$k][bo_subject] ."</font>]&nbsp;&nbsp;";
echo "<a href='{$list[$k][href]}' class='sosic'>";

echo "{$list[$k][subject]}";
if(!$list[$k]['wr_comment'] == '0')
echo "&nbsp;(" .$list[$k]['wr_comment']. ")";
echo "</a>";
?>

</td>
<td width="50" align="center"><?=$list[$k][datetime2]?></td>
</tr>
<? } ?>

<? if(count($list)==0){echo"<tr><td align='center' height='50'>게시물이 없습니다.</td></tr>";}?>
</table>

---- 여기까지 ---------------------------------------------------------------

그룹내 총7개의 게시판이 있고
각 게시판에서 최신글이 올라올때 게시판 제목이 다른경우,
각각 다른 색상으로 표시해주려고 위처럼 if문을 사용해봤습니다.

그러나 의도한대로 되지 않고 색상이 제멋대로 표시가 되는군요.
아래처럼도 해봤고..

switch($k)
{
case 0:
$sub_color = "#990000";
break;
case 1:
$sub_color = "#006699";
break;
case 2:
$sub_color = "#006600";
break;
case 3:
$sub_color = "#555555";
break;
case 4:
$sub_color = "#9900CC";
break;
case 5:
$sub_color = "#777777";
break;
default :
$sub_color = "#333333";
break;
}


아래처럼도 해봤습니다 --------------------------------------------

switch($list[$k][bo_table])
{
case $list[0][bo_table]:
$sub_color = "#990000";
break;
case $list[1][bo_table]:
$sub_color = "#006699";
break;
case $list[2][bo_table]:
$sub_color = "#006600";
break;
case $list[3][bo_table]:
$sub_color = "#555555";
break;
case $list[4][bo_table]:
$sub_color = "#9900CC";
break;
case $list[5][bo_table]:
$sub_color = "#777777";
default :
$sub_color = "#333333";
break;
}


------------------ 어느것 하나 제대로 먹히지가 않는군요.


switch 문을 사용해서 원래 의도대로, 게시판제목별로 색상을 다르게 표시해주려면
구문을 어떻게 만들어야 할런지요?

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

switch($list[$k][bo_table])
{
case $list[0][bo_table]:
$sub_color = "#990000";
break;
case $list[1][bo_table]:
$sub_color = "#006699";
break;
case $list[2][bo_table]:
$sub_color = "#006600";
break;
case $list[3][bo_table]:
$sub_color = "#555555";
break;
case $list[4][bo_table]:
$sub_color = "#9900CC";
break;
case $list[5][bo_table]:
$sub_color = "#777777";
default :
$sub_color = "#333333";
break;
}

이건 틀린구문입니다.

if문을 사용하셔야 맞을것 같습니다.

for($i=0,$cnt=count($list);$i<$cnt;$i++) {
if($list[$i]['bo_table']=='a') $sub_color = "#777777";
elseif($list[$i]['bo_table']=='b') $sub_color = "#666666";
elseif($list[$i]['bo_table']=='c') $sub_color = "#dddddd";
}
이런식이 되어야 할것 같네요...
댓글 감사합니다.
위 경우 switch 문으로는 구현이 안되는것인지요?

그리고 위 예에서
만약 게시판명이 tm_01b01, tm_01b02, tm_01b03, tm_01b04, tm_01b05, tm_01b06 라고할때

for($i=0,$cnt=count($list);$i<$cnt;$i++) {
if($list[$i]['bo_table']=='tm_01b01') $sub_color = "#777777";
elseif($list[$i]['bo_table']=='tm_01b02') $sub_color = "#666666";
elseif($list[$i]['bo_table']=='tm_01b03') $sub_color = "#dddddd";
elseif($list[$i]['bo_table']=='tm_01b04') $sub_color = "#cccccc";
elseif($list[$i]['bo_table']=='tm_01b05') $sub_color = "#eeeeee";
elseif($list[$i]['bo_table']=='tm_01b06') $sub_color = "#bbbbbb";
else
$sub_color = "#333333";
}

이런 형식이어야 한다는 얘기인지요?

게시글 목록

번호 제목
284255
284248
284247
284246
284242
284238
284234
284233
284229
284224
284222
284215
284213
284212
284209
284208
284201
284193
284192
284174