Buenas,
La clave está en este trozo de código:
Código PHP:
Ver original<?php do { ?>
<table width="990" border="0">
<tr>
<td align="center"><p><a href="detalle.php?NOMBREFOTOGRANDE=<?php echo $row_listado['NOMBREFOTOGRANDE']; ?>"><img src="fotoszapatospeques/<?php echo $row_listado['NOMBREFOTOPEQUE']; ?>" width="182" height="137" /></a></p>
<p><?php echo $row_listado['REFERENCIA']; ?></p>
<p><?php echo $row_listado['PRECIO']; ?> €</p></td>
</tr>
</table>
El do while es el que bucle que se encarga de recorrer todos los resultados que provienen de la base de datos.
Para empezar, cierras la tabla dentro del bucle, esto está mal, ya que lo que estás haciendo es poner muchos tags de cierre de tabla </table> y sólo tienes que tener uno, esto tienes que sacarlo del bucle.
Para poner varias columnas, lo único que tienes que hacer es añadir más <td> como los que tienes ahí y realizar, dentro del bucle, otro fetch para que avances al siguiente registro (siempre controlando que exista otro registro, por supuesto).
Un saludo.