Ok, weil die TD's den Style überschreiben, also dann bspw. so:

PHP-Code:
 <?
for($x=1;$x<11;$x++){
    if (!isset($users[$x])) $users[$x] = 'n/a';
    if (!isset($ref[$x])) $ref[$x] = 0;
    $style = ($ref[$x] < 15) ? 'color:red;' : '' ;
    $row = ($rp % 2 == 0) ? 0 : 1; ?>
    <tr class="tr_row<?=$row;?>" >
        <td align="right" style="<?=$style;?>"><?=$rp++;?>.&nbsp;</td>
        <td style="<?=$style;?>">&nbsp;<?=$users[$x];?></td>
        <td align="right" style="<?=$style;?>"><?=$ref[$x];?>&nbsp;</td>
        <td align="right" style="<?=$style;?>"><?=number_format($ralleydaten['p'.$x], 0).' '.$waehrung;?>&nbsp;</td>
    </tr>
<?
} ?>
Aber sehr unschön so gelöst, soll nur als Denkanstoss dienen