Umm, a ver si lo he entendido bien.
Quieres que el resultado de la consulta se muestre así:
resultado1 resultado2 resultado3
resultado4 resultado5 resultado6
Si es eso lo que quieres, el código está incompleto. Deberías tener una variable númerica que controle el número de elementos que tiene la fila actual.
Código PHP:
<?php
$sqlsub = "SELECT * FROM SUBCATEGORIAS WHERE NOMBRE_CORTO NOT LIKE '%COLORES%' ORDER BY NOMBRE_CORTO ASC";
$ressub = mysql_query($sqlsub,$conex);
$Num_columnas = 3;
$x = 0;
echo '<table cellSpacing="0" cellPadding="0" width="100%" border="1">';
echo '<tr>';
while ($rsub = mysql_fetch_array($ressub)) {
if ($x == "Nun_columnas) {
echo '</tr';
echo '<tr>';
$x = 0;
}
echo '<td align="left"><b><a href="index.php?op=2&cat='.$row[ID].'&sub='.$rsub[ID].'&entrada=C" >';
if ( $wsub == $rsub[ID])
echo '<font face="Verdana" size="1" color="#ff6633">';
else
echo '<font face="Verdana" size="1" color="#ff6633">';
echo $rsub[NOMBRE_CORTO];
echo '</font>';
echo '</a></b></td>';
$x++:
}
echo '</tr></table>'; }
?>
Si no es esto lo que quieres, lo he entendido mal.