Hola,
No es problema el tema de los nombres. Te armas tu tabla y luego vas repitiendo una fila, poniendo en cada celda lo que corresponda.
Para el tema de los campos vacíos, puedes verificar si tiene algún dato y si no es así insertar un (espacio en blanco) o algún otro caracter para que la celda no quede vacía, con un if.
Código PHP:
while($row=mysql_fetch_array....) {
?>
<tr>
<td><?php if($row['campo1']) echo $row['campo1']; else echo ' '; ?></td>
<td><?php if($row['campo2']) echo $row['campo2']; else echo ' '; ?></td>
<td><?php if($row['campo3']) echo $row['campo3']; else echo ' '; ?></td>
....
</tr>
<?php
}
Y así la vas armando, en cada celda especificas cualquiera de los campos que necesites. Hay una forma más corta de hacer la comprobación pero no se tu nivel de manejo de php. Si lo entiendes, sería algo así:
Código PHP:
<?=$row['campo']?$row['campo']:' '?>
Saludos!