여분필드 값을 비교해서 색상변경하려면 어떻게 하면 되는지요?

여분필드 값을 비교해서 색상변경하려면 어떻게 하면 되는지요?

QA

여분필드 값을 비교해서 색상변경하려면 어떻게 하면 되는지요?

본문

여분필드 5개에 값을 넣었는데

여기서 가장 높은 값이나 가장 값을 가진 셀의 색상을 바꾸어 주려합니다. (쉽게 볼 수 있도록)

wr_1, wr_2, wr_3, wr_4, wt_5

 

두개면 if문의 만들어서 색상지정해주면 될 것 같은데

여러개에서 비교하는 것은 어떻게 하면 되는지요?

 

감사합니다

이 질문에 댓글 쓰기 :

답변 5


$data1 = $view['wr_1'];
$data2 = $view['wr_2'];
$data3 = $view['wr_3'];
$data4 = $view['wr_4'];
$values = array($data1, $data2, $data3, $data4);
$maxValue = max($values);
$maxIndexes = array_keys($values, $maxValue);
echo "최댓값: " . $maxValue . ", 인덱스: " . implode(", ", $maxIndexes);

 

모두 배열에 넣은뒤 최댓값과 해당 값의 순서를 찾을수 있습니다.

for 로 돌릴때 해당 순서와 일치시 css 변경등의 조건문을 넣으시면되겠네요


<?php
$wr_1 = 10;
$wr_2 = 20;
$wr_3 = 11;
$wr_4 = 2;
$wr_5 = 14;
$numbers = [$wr_1, $wr_2, $wr_3, $wr_4, $wr_5];
$max = array_search(max($numbers), $numbers);
foreach($numbers as $idx => $number) {
    $style = $idx === $max ? ' style="color: red;"' : '';
    echo '<span'.$style.'>'.$number.'</span><br>';
}

if($write['wr_1']==비교값 and $write['wr_2']==비교값)

이런식으로 처리하시되 and는 다 값이 같아야하고

or은 wr_1값도 있고 wr_2값도 존재하는 모두 실행되는 겁니다.

다음과 같은 방법도 있으니 참고해 보세요

 


<table>
    <tr>
        <td id="cell1"><?php echo $write['wr_1']; ?></td>
        <td id="cell2"><?php echo $write['wr_2']; ?></td>
        <td id="cell3"><?php echo $write['wr_3']; ?></td>
        <td id="cell4"><?php echo $write['wr_4']; ?></td>
        <td id="cell5"><?php echo $write['wr_5']; ?></td>
    </tr>
</table>
 
<script>
    function highlightMaxMinCells() {
        const cells = document.querySelectorAll("td[id^='cell']");
        // 초기값 설정
        let maxVal = Number(cells[0].innerText);
        let minVal = Number(cells[0].innerText);
        let maxCell = cells[0];
        let minCell = cells[0];
        // 여분필드 값을 반복하면서 최대값과 최소값을 찾음
        for (let i = 1; i < cells.length; i++) {
            const cellValue = Number(cells[i].innerText);
            if (cellValue > maxVal) {
                maxVal = cellValue;
                maxCell = cells[i];
            }
            if (cellValue < minVal) {
                minVal = cellValue;
                minCell = cells[i];
            }
        }
        // 최대값과 최소값 셀에 색상 적용
        maxCell.style.backgroundColor = "green"; // 또는 다른 색상
        minCell.style.backgroundColor = "red";   // 또는 다른 색상
    }
    // 페이지 로드 시 실행
    window.onload = highlightMaxMinCells;
</script>

 

highlightMaxMinCells()는 테이블의 각 셀에서 여분필드 값을 읽어와 최대값과 최소값을 찾은다음 해당 값을 가진 셀에 색상을 표시 할 수 있을 것 같습니다

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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