이게 왜 그럴까요?
본문
포인트가 0보다 작으면 빨간색으로 그렇지 않으면 양수값이면 녹색으로 표시하라고 한건데...
음수도 녹색으로 표시하네요,,,
<? if($mb[mb_point] < 0) $red="color:red;"; else $red='color:green;font-size:14px'; ?>
<span style="<?= $red ?>"
>
<? if ($is_admin || $member[mb_id]==$list[$i][mb_id]){
$mb = get_member($list[$i][mb_id], 'mb_point');
echo number_format($mb[mb_point]);
}?>
</span>
답변 4
<?php
$mb = get_member($list[$i][mb_id], 'mb_point');
if($mb[mb_point] <= 0) $red='color:red;'; else $red='color:green;font-size:14px';
?>
<span style="<?php echo $red ?>">
<?php
if ($is_admin || $member[mb_id]==$list[$i][mb_id]){
echo number_format($mb[mb_point]);
}
?>
</span>
<? if(intval($mb[mb_point]) < 0) {$red="color:red;"; } else{ $red='color:green;'} $red .='font-size:14px'; ?>
로 변경해보세요
위에 작업 하시기 바로 위에
var_dump($mb[mb_point]);
으로 실제 어떤 값이 나오는지 확인 해보셔야 할듯 합니다.
$mb = get_member($list[$i][mb_id], 'mb_point');
이 실행되기 이전에
$mb[mb_point] 를 체크하니 당연히 $mb 변수가 있기 전이기 때문에
빈값이 들어가니까 그렇게 되는것같네요
결론은 코드 순서가 지금 안맞아요
간단하게 설명하자면
<? if ($is_admin || $member[mb_id]==$list[$i][mb_id]){
$mb = get_member($list[$i][mb_id], 'mb_point');
if($mb[mb_point] < 0) $red="color:red;"; else $red='color:green;font-size:14px';
echo number_format($mb[mb_point]);
}?>
이렇게 $mb가 선언된 이후에 코드를 넣어야합니다.