Ciao,
potresti utilizzare una variabile numerica all' interno del while per contare il numero di colonne:

ES:
$num_cell = 0;
while(){
if($num_cell < 3)
echo '<td>.......';
else{
$num_cell = 0;
echo "<tr>......";
}
}

Ciao