Foros del Web » Programando para Internet » PHP »

Mostrar datos MySQL. PORFAVOR AYUDAR

Estas en el tema de Mostrar datos MySQL. PORFAVOR AYUDAR en el foro de PHP en Foros del Web. Estimados amigos, cree una galeria fotografica, pero no se como hacer para que en una tabla (<table></table>) mostrar los datos en X columnas, por que ...
  #1 (permalink)  
Antiguo 09/02/2005, 10:16
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
Mostrar datos MySQL. PORFAVOR AYUDAR

Estimados amigos, cree una galeria fotografica, pero no se como hacer para que en una tabla (<table></table>) mostrar los datos en X columnas, por que lo que me pasa es que me muestra solo en una columna y entonces tengo una columna con muchas filas para abajo. Por favor alguen que me ayude.
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #2 (permalink)  
Antiguo 09/02/2005, 10:19
Avatar de phpec  
Fecha de Ingreso: noviembre-2004
Mensajes: 70
Antigüedad: 13 años
Puntos: 0
muestranos como lo haces?
  #3 (permalink)  
Antiguo 09/02/2005, 10:42
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
esto

Esto esto es lo que tengo puesto en este minuto.
Código PHP:
<?
    
//Conexión a la base de datos
$result=mysql_db_query($db,"select * from gal_fotog ORDER BY id DESC") or die (mysql_error());
while (
$row=mysql_fetch_array($result))
{
echo 
'<table width=480 height="18" border=0 align="center" cellpadding=0 cellspacing=0 bordercolor="#000000" bgcolor="#FFFFFF">
            <tr>
              <td width="667" height="1" align=center bordercolor="#FF0000" bgcolor="#CCCCCC"><font face="Geneva, Arial, Helvetica, sans-serif" size="2"><img src="fotos/'
.$row["foto"].'" border="0"><br>';
echo 
nl2br($row["comentario"]);
echo 
'</font></td>
            </tr>
          </table><br>'
;
}

?>
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #4 (permalink)  
Antiguo 09/02/2005, 11:02
Avatar de H0m3r0J4y  
Fecha de Ingreso: abril-2002
Mensajes: 123
Antigüedad: 15 años, 7 meses
Puntos: 0
Lo que tienes que hacer es poner $row=mysql_fetch_array($result) cada vez que se inicie una nueva columna, de esta manera $row tomara los valores del siguiente resultado

Salutes!
  #5 (permalink)  
Antiguo 09/02/2005, 11:03
Avatar de phpec  
Fecha de Ingreso: noviembre-2004
Mensajes: 70
Antigüedad: 13 años
Puntos: 0
Haber

kieres decir que tienes varios registros y solo te muestra uno?


<!--la tabla la abres antes del ciclo y la cierras hasta que termine-->
<table width=480 height="18" border=0 align="center" cellpadding=0 cellspacing=0 bordercolor="#000000" bgcolor="#FFFFFF">
<?

//Conexión a la base de datos
$result=mysql_db_query($db,"select * from gal_fotog ORDER BY id DESC") or die (mysql_error());
while ($row=mysql_fetch_array($result))
{ ?> <tr>
<td width="667" height="1" align=center bordercolor="#FF0000" bgcolor="#CCCCCC"><font face="Geneva, Arial, Helvetica, sans-serif" size="2"><img src="fotos/<?=$row["foto"]?>" border="0"><br>
<?=nl2br($row["comentario"])?>
</font></td>
</tr>
<?} ?>
</table>

explica mejor el error
  #6 (permalink)  
Antiguo 09/02/2005, 11:43
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
esimado amigo, el error es que: me los muestra en una sola columna hacia abajo y necesito tener por lo menos tres o cuatro columnas con fotos hacia el lado. No se si me entiendes.
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #7 (permalink)  
Antiguo 09/02/2005, 11:58
 
Fecha de Ingreso: enero-2005
Ubicación: Valparaiso - Chile
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 0
Mira, lo que estas haciendo es que por cada resultado creas una tabla nueva donde muestras tu imagen, haecs un salto de linea <br> y creas mas tablas, esto es porque pusiste el <table> dentro del while.

Si haces lo que puso phpec, vas a tener una columa por cada resultado, pero tal como esta no puedes controlar cuantas columnas hacer.

Lo que podrias hacer es contar primero cuantos resultados obtuviste (mysql_num_rows) y ese numero dividirlo por el numero de columnas que quieres, asi obtendras el nunero de filas. Y asi arregar los <tr> y <td>.

Algo asi:

Código:
$cols = 3; //aqui defines numero de columas.
$num=mysql_num_rows($result);

$filas = floor($num / $cols); //con esto saca el resultado entero de la division.

echo "<table>";
for ($i = 0; $i < $filas; $i++)
{
echo "<tr>";
for ($j=0; $j < $cols ; $j++)
{
$row=mysql_fetch_array($result);
if ($row["foto"] == "") //aqui estoy suponiendo que el campo foto es un texto.
{
echo "<td>&nbsp;</td>";  //esto es para que si la division no es entera los ultimos cuadrados de tu tabla donde muestras als fotos se rellenen con "nada".
}
else
{
echo '<td><img src="fotos/'.$row["foto"].'" border="0"></td>'; 
} //end del else
} //end del for con $j
echo "</tr>";
} //end del for con $i.
echo "</table>";
Yo lo probe con algo mio y funciono (sin el img si, mostrando texto).

Última edición por Yoko_cl; 09/02/2005 a las 12:06
  #8 (permalink)  
Antiguo 09/02/2005, 12:09
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
lo hize funcionar, pero tngo un problema, por ejemplo, si tngo una sola foto, los otros dos celdas me aparecen con una imagen con la X de que no se pudo mostrar la imagen.
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #9 (permalink)  
Antiguo 09/02/2005, 12:15
 
Fecha de Ingreso: enero-2005
Ubicación: Valparaiso - Chile
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 0
si te aparece esas x es porque esta mala la direccion del archivo, porque como lo puse yo si no hay nada deberia dejar el casillero vacio (por el &nbsp;).

podrias agregar antes un if que te verifique si el numero de resultados es menor que el numero de columnas que quieres, entonces haces una sola tabla, y si no, todo lo que yo puse.

O sea

i
Código:
f ($num >= $cols){   
todo lo que puse despues d elas 2 priemras lineas de codigo
}
else{   //sino, hace una tabla mas chica
echo "<table><tr>";
for ($i=0;$i<$num;$i++){
echo "<td><img.... </td>";
}
echo "</tr></table>";
}

Última edición por Yoko_cl; 09/02/2005 a las 12:18
  #10 (permalink)  
Antiguo 09/02/2005, 12:17
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 13 años
Puntos: 0
asi era estimado ammigo..ahora si funciono perfecto...Agradezco enormemente tu ayuda!!
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #11 (permalink)  
Antiguo 09/02/2005, 12:49
 
Fecha de Ingreso: febrero-2005
Ubicación: chile, Santiasko
Mensajes: 728
Antigüedad: 12 años, 10 meses
Puntos: 1
cual es el direccion de la imagen...?

osea como se coloca y donde.... siempre ponen img..... y no entiendo como es....?

osea un mini ejemplo ya que el thumber no me funciona....
  #12 (permalink)  
Antiguo 09/02/2005, 13:09
 
Fecha de Ingreso: enero-2005
Ubicación: Valparaiso - Chile
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 0
No entiendo que preguntas medio tocallo yokoshima :)

pero insertar una imagen es html.
se pone
<img src="direccion.extension">
y si esta en un subdirectorio
<img src="subdirectorio/direccion.extension">
y si esta en un directorio anterior
<img src="../direccion.extension">

lo que se hace usualmente es guardar en una base de datos el nombre de la imagen y asi despues llamarla, como lo hace el socio en la linea

<img src="fotos/'.$row["foto"].'">
  #13 (permalink)  
Antiguo 09/02/2005, 13:57
 
Fecha de Ingreso: febrero-2005
Ubicación: chile, Santiasko
Mensajes: 728
Antigüedad: 12 años, 10 meses
Puntos: 1
ahora cache.......

direccion.extension.... mira si la tengo en el escritorio seria esto cierto...

<img src ="C:\Documents and Settings\Yokoshima\Escritorio\foto.jpg">

en el caso del thumbnails

el error es aqui:

$file = "imagen.jpg";//Nombre de la imagen Original EN ESTA PARTE...

entonces iria asi tb:

$file = "C:\Documents and Settings\Yokoshima\Escritorio\foto.jpg";//Nombre de la imagen Original

lo siento pero es que recien estoy aprendiendo y estoy realizando la practica.....

Cita:
Iniciado por Yoko_cl
No entiendo que preguntas medio tocallo yokoshima :)

pero insertar una imagen es html.
se pone
<img src="direccion.extension">
y si esta en un subdirectorio
<img src="subdirectorio/direccion.extension">
y si esta en un directorio anterior
<img src="../direccion.extension">

lo que se hace usualmente es guardar en una base de datos el nombre de la imagen y asi despues llamarla, como lo hace el socio en la linea

<img src="fotos/'.$row["foto"].'">
  #14 (permalink)  
Antiguo 09/02/2005, 15:08
 
Fecha de Ingreso: enero-2005
Ubicación: Valparaiso - Chile
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 0
Insisto en que eso es html, pero si, dependiendo de donde tengas guardadas tus paginas pones la ruta, en el caso de estar en windows separas los directorios con \ y si ya lo subiste a algun servidor con / (y la ruta tendria que corregirse, ya no seria escritorio no se que mas)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:48.