in questa parte del codice mancano apertura e chiusura dei <td>e</td>:

if ($i == 3 ){
print("</tr>");
print("<tr>");
$i = 1;
}