Yo sinceramente no uso printf() para lo que estas haciendo ... uso el método clásico. ... (si quieres .
www.php.net/manual/es .. y busca la funcion printf() par ver su sintaxis y uso).
echo "<td><tr>".$row['loquesea']."</td></tr>;
O como corresponda ... pero no printf() ..
Lanzar ese HTML con un "echo" ayuda a ver mas claro el código (no se si será mas optimo .. yo creo q si, pues printf() carga el motor de expresiones regulares .. cosa que en este caso concreto no le veo la necesidad ...).
Un ejemplo seria:
Código PHP:
echo "<table>";
while($row = mysql_fetch_array($consulta)) {
echo <<< HTML
<tr>
<td>$row['nombre']</td>
<td>$row['apellidos']</td>
<td><a href="dondesea.php?id=$row[ID]"> Borrar </a></td>
</tr>
HTML;
}
echo "</table>";
Con esa estructura .. incluso puedes diseñar comodamente tus tablas y HTML en general con algun editor HTML visual tipo Dreamweaver y luego solo añadirle el código PHP que necesites.
Un saludo,