un'ulteriore modifica al codice di andr3a e m4rko:
codice:
$sql = "SELECT id, nome, sx, dx FROM personale WHERE sx >= {$line['sx']} AND dx <= {$line['dx']} ORDER BY sx ASC";
$res = mysql_query($sql);
$last_sx = $line['sx'];
$tab = 0;
$output = '<pre>';
while( $r = mysql_fetch_assoc( $res ) ) {
    $compare = (int)$r['sx'];
    if( $compare === ( $last_sx + 1 ) ) {
        $tab++;
    }
    else if( $compare > ( $last_sx + 2 ) && $tab >= ( $compare - ( $last_sx + 2 ) ) ) {
        $tab -= $compare - ( $last_sx + 2 );
    }
    if ($tab < 2) {
        $output .= str_repeat( "\t", $tab );
        $output .= "{$r['id']} - {$r['nome']} ({$r['sx']}, {$r['dx']})
";
    }
    $last_sx = $compare;
}
echo $output . '</pre>';
così è indipendente dall'ordine col quale vengono selezionati i campi...