if else if 구문으로 <tr>~</tr>의 배경색 지정도 가능할까요?

if else if 구문으로 <tr>~</tr>의 배경색 지정도 가능할까요?

QA

if else if 구문으로 <tr>~</tr>의 배경색 지정도 가능할까요?

본문


<tr height="30">
    <td width="4%" align="center"><?php echo $rank; ?> 등</td>
    <td width="7%" align="center"><?php// echo date("A h:i:s", strtotime($data['datetime'])); ?><?php echo substr($data['datetime'],10,16);?></td>
    <td width="12%" align="center"><?php echo $name?></td>
    <td width="55%" align="left"><?php echo get_text($data['subject']); ?></td>
    <td width="5%" align="center">
    <?php
        if( $data['day'] >= 120 ) //출석일 120일 이상
        {echo "<span style='color:#ffff00; background-color:#000000'>".$on."</span>";}
        else if( $data['day'] >= 90 ) //출석일 90일 이상
        {echo "<span style='color:#ffffff; background-color:#000000'>".$on."</span>";}
        else if( $data['day'] >= 60 ) //출석일 60일 이상
        {echo "<span style='color:#ffffff; background-color:#6d30cf'>".$on."</span>";}
        else if( $data['day'] >= 30 ) //출석일 30일 이상
        {echo "<span style='color:#ffffff; background-color:#e83782'>".$on."</span>";}
        else if( $data['day'] >= 10 ) //출석일 10일 이상
        {echo "<span style='color:#e83782; background-color:#ffffff'>".$on."</span>";}
        else  //일반
        {echo "<span style='color:#000000; background-color:#ffffff'>".$on."</span>";}
        //{echo $data['day'];}
    ?>    
    <!--<?php echo $on; ?>--></td>
    <td width="10%" align="right" style="padding:0 5 0 0px;">
    <?php
        if( $data['day'] >= 120 ) //출석일 120일 이상
        {echo "<span style='color:#ffff00; background-color:#000000'>".$data['point']."점</span>";}
        else if( $data['day'] >= 90 ) //출석일 90일 이상
        {echo "<span style='color:#ffffff; background-color:#000000'>".$data['point']."점</span>";}
        else if( $data['day'] >= 60 ) //출석일 60일 이상
        {echo "<span style='color:#ffffff; background-color:#6d30cf'>".$data['point']."점</span>";}
        else if( $data['day'] >= 30 ) //출석일 30일 이상
        {echo "<span style='color:#ffffff; background-color:#e83782'>".$data['point']."점</span>";}
        else if( $data['day'] >= 10 ) //출석일 10일 이상
        {echo "<span style='color:#e83782; background-color:#ffffff'>".$data['point']."점</span>";}
        else  //일반
        {echo "<span style='color:#000000; background-color:#ffffff'>".$data['point']."점</span>";}
        //{echo $data['day'];}
    ?>
    </td>
    <td width="7%" align="center">
    <?php
        if( $data['day'] >= 120 ) //출석일 120일 이상
        {echo "<span style='color:#ffff00; background-color:#000000'>".$data['day']."일째</span>";}
        else if( $data['day'] >= 90 ) //출석일 90일 이상
        {echo "<span style='color:#ffffff; background-color:#000000'>".$data['day']."일째</span>";}
        else if( $data['day'] >= 60 ) //출석일 60일 이상
        {echo "<span style='color:#ffffff; background-color:#6d30cf'>".$data['day']."일째</span>";}
        else if( $data['day'] >= 30 ) //출석일 30일 이상
        {echo "<span style='color:#ffffff; background-color:#e83782'>".$data['day']."일째</span>";}
        else if( $data['day'] >= 10 ) //출석일 10일 이상
        {echo "<span style='color:#e83782; background-color:#ffffff'>".$data['day']."일째</span>";}
        else  //일반
        {echo "<span style='color:#000000; background-color:#ffffff'>".$data['day']."일째</span>";}
        //{echo $data['day'];}
    ?>
    </td>
</tr>

 

3716915752_1643626067.6219.png

 

안녕하세요.

새해 복 많이 받으셔요.

 

개근일수 차등에 따라 시각효과를 주기 위해서 $data 값에다가 차등 지정을 해서 운영하고 있습니다.

질문!

텍스트의 텍스트 색상, 텍스트 배경 색상 효과가 아닌 해당 $dada['day'] 값에 해당하는 <tr>~</tr> 전체의 <tr bgcolor="배경 색상" color="텍스트 색상"> 으로 설정해주고싶은데요.

현재 설정도 냑님으로 부터 도움받은거라 이번에도 도움 좀 받으려 합니다.

 

    <?php
        if( $data['day'] >= 120 ) //출석일 120일 이상
        {echo "<tr bgcolor="배경 색상" color="텍스트 색상">";}
        else if( $data['day'] >= 90 ) //출석일 90일 이상
        {echo "<tr bgcolor="배경 색상" color="텍스트 색상">";}
        else if( $data['day'] >= 60 ) //출석일 60일 이상
        {echo "<tr bgcolor="배경 색상" color="텍스트 색상">";}
        else if( $data['day'] >= 30 ) //출석일 30일 이상
        {echo "<tr bgcolor="배경 색상" color="텍스트 색상">";}
        else if( $data['day'] >= 10 ) //출석일 10일 이상
        {echo "<tr bgcolor="배경 색상" color="텍스트 색상">";}
        else  //일반
        {echo "<tr bgcolor="배경 색상" color="텍스트 색상">";}
        //{echo $data['day'];}
    ?>

 

대충 이런 결과값이 나오면되는데 할줄을 몰라서 글올려봅니다.

이 질문에 댓글 쓰기 :

답변 2

CSS에 아래 내용 추가해주고,


.over120 td { background-color: #000; color: #ff0; }
.over90 td { background-color: #000; color: #fff; }
.over60 td { background-color: #6d30cf; color: #fff; }
.over30 td { background-color: #e83782; color: #fff; }
.over10 td { background-color: #ffffff; color: #e83782; }
.normal td { background-color: #fff; color: #000; }

질문의 반복하는 부분은 아래처럼 처리하면 되겠습니다.


<?php
$class = 'normal';
if ( $data['day']>=120 ) {
    $class = 'over120';
} else if ( $data['day']>=90 ) {
    $class = 'over90';
} else if ( $data['day']>=60 ) {
    $class = 'over60';
} else if ( $data['day']>=30 ) {
    $class = 'over30';
} else if ( $data['day']>=10 ) {
    $class = 'over10';
}
?>
<tr height="30" class="<?=$class?>">
    <td width="4%" align="center"><?=$rank?> 등</td>
    <td width="7%" align="center"><?=substr($data['datetime'], 10, 16)?></td>
    <td width="12%" align="center"><?=$name?></td>
    <td width="55%" align="left"><?=get_text($data['subject'])?></td>
    <td width="5%" align="center"><?=$on?></td>
    <td width="10%" align="right" style="padding:0 5 0 0px;"><?=$data['point']?>점</span></td>
    <td width="7%" align="center"><?=$data['day']?>일째</span></td>
</tr>

* PHP v5.4 이상부터는 PHP 설정과 상관없이 <?= 단축 구문 표현이 가능합니다.

감사합니다! 한방에 적용이 되었습니다만, 닉네임 부분은 클릭하면 회원정보 링크가 걸려있어서 설정색상이 아닌 #000000 으로 고정되어서 나오는데 어느 부분을 수정해야할까요?

색상에 맞게 링크 색상도 아래처럼 지정해주면 됩니다.

.over120 a { background-color: 배경색; color: 글자색; }
.over90 a { background-color: 배경색; color: 글자색; }
:

다른 설정 때문에 색상 지정되지 않으면 아래처럼 !important 붙여주면 됩니다.

.over120 a { background-color: 배경색 !important; color: 글자색 !important; }
.over90 a { background-color: 배경색 !important; color: 글자색 !important; }
:

답변을 작성하시기 전에 로그인 해주세요.
전체 30
QA 내용 검색

회원로그인

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