Foros del Web » Programando para Internet » PHP »

Mostrar imagenes diferente cuando actualizo una pagina

Estas en el tema de Mostrar imagenes diferente cuando actualizo una pagina en el foro de PHP en Foros del Web. Hola a todos! Me alegro de pertenecer a este foro donde me ayudan y he ayudado de verdad mil gracias!! Bueno la consulta es como ...
  #1 (permalink)  
Antiguo 18/09/2011, 22:25
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Pregunta Mostrar imagenes diferente cuando actualizo una pagina

Hola a todos!

Me alegro de pertenecer a este foro donde me ayudan y he ayudado de verdad mil gracias!!

Bueno la consulta es como hago cuando actualizo una pagina muestre una imagen de la base de datos y cuando vuelva actualizar muestre otra imagen de la base de datos y asi sucesivamente....

Espero que me ayuden en esto y mil gracias.
__________________
Visita a Publiventa donde compras y vendes de todo
  #2 (permalink)  
Antiguo 18/09/2011, 22:45
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Mostrar imagenes diferente cuando actualizo una pagina

Esto te puede servir:

Código PHP:
<?php
function conectarse($host,$usuario,$password,$BBDD){ 
   
$link=mysql_connect($host,$usuario,$password) or die (mysql_error()); 
   
mysql_select_db($BBDD,$link) or die (mysql_error()); 
   return 
$link


$link=conectarse("host","usuario","contraseña","base_datos"); 
 
$contar "select count(imagen) from imagenes";
$contar mysql_query($contar $link); 
$contar =mysql_fetch_array($contar );
$contar=$contar[0];

$id=rand(1$contar);

$imagen"select imagen from imagenes where imagen_id=$id";
$imagenmysql_query($imagen$link); 
$imagen=mysql_fetch_array($imagen);

echo 
"<img src='".$imagen[0]."'>";
?>
  #3 (permalink)  
Antiguo 18/09/2011, 22:50
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Mostrar imagenes diferente cuando actualizo una pagina

Suponiendo que la tabla de las imágenes se llama imagenes y contiene un campo Id que almacena valores de Id continuos (1,2,3,4,5...) y el campo Ruta almacena la URL de cada imagen, entonces pones:

Código PHP:

$host
='Host del servidor mysql';
$user='Nombre usuario del servidor mysql';
$password='Contraseña del usuario del servidor mysql';

$con=mysql_connect($host,$user,$password)
mysql_select_db('imagenes',$con);
$SQL="SELECT Id FROM imagenes";
$rst=mysql_query($SQL);
$maxid=mysql_num_rows($rst);
$Idimagen=rand (1$maxid);
$SQL="SELECT Id,Ruta FROM imagenes WHERE Id=$Idimagen";
$rst=mysql_query($SQL);
$row=mysql_fetch_array($rst);
$ruta=$row['Ruta'];
mysql_free_result($rst);
echo 
'<img href="$ruta">';
mysql_close(); 

Última edición por jorgelpadronb; 18/09/2011 a las 23:01
  #4 (permalink)  
Antiguo 18/09/2011, 23:02
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Mostrar imagenes diferente cuando actualizo una pagina

Bueno si es lo que entendieron los 2 compañeros, porque no usar rand de MySQL y para no dar tanta vuelta.

Código SQL:
Ver original
  1. SELECT * FROM tabla ORDER BY rand() LIMIT 1

Un registro aleatorio.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 18/09/2011, 23:12
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Mostrar imagenes diferente cuando actualizo una pagina

El problema es que rand() tiene un rango de mínimo a máximo, que se da por parámetros. Si no especificas eso te arriezgas a que rand() genere un Id aleatorio que no existe en la tabla. Por eso hay que calcular los límites mínimo y máximo de rand() obteniendo información de los datos reales que hay en la tabla. Por eso es todo ese rodeo.

Código PHP:
$minimo=1;
$maximo=Máximo valor de Id que hay en la tabla;
$Id=rand($minimo,$maximo); 
Saludos.
  #6 (permalink)  
Antiguo 18/09/2011, 23:12
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Mostrar imagenes diferente cuando actualizo una pagina

jaja, eso lo simplifica mucho mejor, buen dato!
  #7 (permalink)  
Antiguo 18/09/2011, 23:16
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Mostrar imagenes diferente cuando actualizo una pagina

Cita:
Iniciado por jorgelpadronb Ver Mensaje
El problema es que rand() tiene un rango de mínimo a máximo, que se da por parámetros. Si no especificas eso te arriezgas a que rand() genere un Id aleatorio que no existe en la tabla. Por eso hay que calcular los límites mínimo y máximo de rand() obteniendo información de los datos reales que hay en la tabla. Por eso es todo ese rodeo.

Código PHP:
$minimo=1;
$maximo=Máximo valor de Id que hay en la tabla;
$Id=rand($minimo,$maximo); 
Saludos.
rand() MySQL
rand() PHP

No confundas funciones de MySQL con funciones de PHP. Son 2 cosas muy distintas. Saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #8 (permalink)  
Antiguo 18/09/2011, 23:19
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Mostrar imagenes diferente cuando actualizo una pagina

Esa SQL es una patada. Como funciona eso hermano. Si ese código resume todo lo que yo puse, vale la pena estudiarlo. Puedes explicarme como funciona esa SQL?
  #9 (permalink)  
Antiguo 18/09/2011, 23:46
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Mostrar imagenes diferente cuando actualizo una pagina

Pues lo que hace es ordenar todos los registros de forma aleatoria y con limit coges un registro o la cantidad que quieras de ese orden, pero no es la mejor forma de hacerlo porque en cada consulta tiene que ordenar y crear una nueva tabla temporal... Esto hace que funcione lento con cantidades grandes de registros (o eso leí en varias partes, buscando porque NO debe usarse para estos casos). Pero si no son muchas imágenes no veo problema. También hay varias formas de optimizarlo con MySQL, pero ese ya es otro tema que no corresponde a este foro.

order by rand() limit 1 (el 1 sería el número de registros aleatorios)
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #10 (permalink)  
Antiguo 19/09/2011, 18:10
Avatar de gustavopino  
Fecha de Ingreso: septiembre-2011
Ubicación: venezuela
Mensajes: 152
Antigüedad: 12 años, 7 meses
Puntos: 29
Respuesta: Mostrar imagenes diferente cuando actualizo una pagina

Amigos muchisimas gracias por su ayuda to tomare en cuenta
__________________
Visita a Publiventa donde compras y vendes de todo

Etiquetas: diferente, imagenes
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 07:24.