Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
여분필드 값을 비교해서 색상변경하려면 어떻게 하면 되는지요?

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

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

QA

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

답변 5

본문

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로