Foros del Web » Programando para Internet » PHP »

While en PHP

Estas en el tema de While en PHP en el foro de PHP en Foros del Web. Necesito hacer un while a esta tabla, que cargue todas las imágenes depositadas en ella, ya que solo me imprime la primera, y la verdad ...
  #1 (permalink)  
Antiguo 22/08/2010, 00:41
Avatar de MarioAlejandroCR2  
Fecha de Ingreso: mayo-2010
Ubicación: Esparza - Puntarenas
Mensajes: 98
Antigüedad: 13 años, 11 meses
Puntos: 2
While en PHP

Necesito hacer un while a esta tabla, que cargue todas las imágenes depositadas en ella, ya que solo me imprime la primera, y la verdad soy nuevo en php, se como funciona un while en otros programas pero no lo entiendo bien en php, este es el código de antemano gracias, prefiero que me expliquen mejor como funciona para en otros casos.

Código PHP:
Ver original
  1. <?php
  2. require_once('conexion.php');
  3.  
  4. $cons=$_GET["idn"];//cAPTURA VALOR ENVIADO COMO PARAMETRO
  5. $_SESSION["cons"]=$cons;
  6. //Consulta los row_regis del usuario para la interfase
  7. mysql_select_db($Basedatos, $MiConexion);
  8. $AuxSql = "SELECT * FROM bdimagenes";
  9. $regis = mysql_query($AuxSql, $MiConexion) or die(mysql_error());
  10. $row_regis = mysql_fetch_assoc($regis);
  11. ?>
  12. <?php
  13.  mysql_select_db($Basedatos, $MiConexion);
  14.     $Sqls = sprintf("select imagen_fnl,Tipo from bdimagenes");
  15.     $regs = mysql_query($Sqls, $MiConexion) or die(mysql_error());
  16.     $row_regs = mysql_fetch_assoc($regs);
  17.     header("Content-Type:".$row_regs["Tipo"]);
  18.     echo $row_regs['imagen_fnl'];
  19. ?>

..... de ANtemano Gracias
  #2 (permalink)  
Antiguo 22/08/2010, 00:50
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: While en PHP

Código PHP:
Ver original
  1. <?php
  2.  mysql_select_db($Basedatos, $MiConexion);
  3.     $Sqls = sprintf("select imagen_fnl,Tipo from bdimagenes");
  4.     $regs = mysql_query($Sqls, $MiConexion) or die(mysql_error());
  5.     while($row_regs = mysql_fetch_assoc($regs)){
  6.     header("Content-Type:".$row_regs["Tipo"]);
  7.     echo $row_regs['imagen_fnl'];
  8.     }
  9. ?>
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #3 (permalink)  
Antiguo 22/08/2010, 01:13
Avatar de MarioAlejandroCR2  
Fecha de Ingreso: mayo-2010
Ubicación: Esparza - Puntarenas
Mensajes: 98
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: While en PHP

Cita:
Iniciado por xalupeao Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2.  mysql_select_db($Basedatos, $MiConexion);
  3.     $Sqls = sprintf("select imagen_fnl,Tipo from bdimagenes");
  4.     $regs = mysql_query($Sqls, $MiConexion) or die(mysql_error());
  5.     while($row_regs = mysql_fetch_assoc($regs)){
  6.     header("Content-Type:".$row_regs["Tipo"]);
  7.     echo $row_regs['imagen_fnl'];
  8.     }
  9. ?>
Gracias pero sigue sin funcionarme aún
  #4 (permalink)  
Antiguo 22/08/2010, 05:17
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: While en PHP

Hola.

Si bien tienes algunas cosas que optimizar, el problema es que solo puedes enviar 1 header y 1 imagen. Lo que estás intentando hacer produce que la imagen sea enviada al navegador y, naturalmente, solo puede mostrar de a un archivo.

Suponiendo que en tu base de datos tienes almacenados los contenidos de los archivos de imagenes (no los nombres de archivo solamente), lo que deberías hacer es una página que recorra la db e inserte las imagenes en html (<img>) y como src indicas un php similar al tuyo que recupere una sola imagen. De ese modo cada img mostrará la imagen correspondiente y en la página podrás tener todas las que quieras.

Sería algo así (atención al while del final, así es como se usa):

Código PHP:
<?php 
session_start
();
require_once(
'conexion.php'); 
 
$cons=$_GET["idn"];//cAPTURA VALOR ENVIADO COMO PARAMETRO
$_SESSION["cons"]=$cons;
//Consulta los row_regis del usuario para la interfase
mysql_select_db($Basedatos$MiConexion);
$AuxSql "SELECT * FROM bdimagenes";
$regis mysql_query($AuxSql$MiConexion) or die(mysql_error());
$row_regis mysql_fetch_array($regis);

$Sqls "select ID, imagen_fnl,Tipo from bdimagenes"//reemplazar ID por algun campo que tenga la tabla que sirva de id único
$regs mysql_query($Sqls$MiConexion) or die(mysql_error());
while(
$row_regs mysql_fetch_array($regs)) {
    echo 
'<img src="imagen.php?id='.$row_regs["ID"]." />";
}
?>
imagen.php
Código PHP:
<?php 
require_once('conexion.php'); 
mysql_select_db($Basedatos$MiConexion);

$id=mysql_real_escape_string($_GET["id"]);
$Sqls "select imagen_fnl,Tipo from bdimagenes where ID='$id'"//reemplazar ID por algun campo que tenga la tabla que sirva de id único
$regs mysql_query($Sqls$MiConexion) or die(mysql_error());
$row_regs mysql_fetch_array($regs);
header("Content-Type:".$row_regs["Tipo"]);
echo 
$row_regs['imagen_fnl'];
die();
?>

Saludos!

Etiquetas: Ninguno
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 12:21.