Hola, creo que para poder mostrarlo como queres, tenés que guardarlo en un array y luego recorrerlo.
Código PHP:
$i=0;
while ($row_comprados = mysql_fetch_assoc($comprados)){
$campos[$i][0] = "<td width=\"138\"><div align=\"center\"><img src=\"{$row_comprados['imagen']}\" alt=\"\" width=\"50\" height=\"35\" /></div></td>";
$campos[$i][1] = "<td><h6>Precio:{$row_comprados['pvd']}</h6></td>";
$campos[$i][2] = "<td><h6>Finaliza:{$row_comprados['fecha_fin']}</h6></td>";
$i++;
}
echo "<table>";
for($k=0;$k<3;$k++){
echo "<tr>";
for($j=0;$j<$i;$j++){
echo $campos[$j][$k];
}
echo "</tr>";
}
echo "</table>";