Foros del Web » Programando para Internet » PHP »

Problema al borrar una id y rotar

Estas en el tema de Problema al borrar una id y rotar en el foro de PHP en Foros del Web. Buenas Estoy realizando un rotador de imagenes con administracion para mi web. El problema es el siguiente: En la administracion, tengo la opcion de eliminar ...
  #1 (permalink)  
Antiguo 04/02/2007, 16:51
 
Fecha de Ingreso: octubre-2005
Mensajes: 11
Antigüedad: 19 años, 1 mes
Puntos: 0
Problema al borrar una id y rotar

Buenas
Estoy realizando un rotador de imagenes con administracion para mi web. El problema es el siguiente:
En la administracion, tengo la opcion de eliminar una imagen, ahora el tema viene en que al rotar yo uso el siguiente codigo:
Código PHP:
<?php
include("config.php");
$query mysql_query("SELECT * FROM banners");
$max mysql_num_rows($query);
srand((double)microtime()*1000000); 
$numero rand(1,$max);
$query2 mysql_query("SELECT * FROM banners WHERE id='$numero'");
 while(
$row mysql_fetch_assoc($query2)) {
 echo 
'<table width="88" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><a href="'
.$row['url'].'" target=_blank><img src="'.$row['banner'].'" width="88" height="31" border="0"></a></td>
  </tr>
</table>'
;
 }
?>
Aqui lo que sucede es que cuando yo elimino una id, el rotador la sigue tomando y entonces, la pagina aparece en blanco ya que no hay una imagen. Lo que no se como hacer es que a la hora de eliminar una imagen, el script baje un numero a todas las id.
Alguien sabe alguna solucion o como hacer eso?

saludos
  #2 (permalink)  
Antiguo 04/02/2007, 16:59
 
Fecha de Ingreso: noviembre-2003
Mensajes: 78
Antigüedad: 21 años
Puntos: 2
Re: Problema al borrar una id y rotar

snake10,

Seguramente podés lograr el mismo efecto realizando la parte de "azar" directamente con MySQL, sin importar si los id son consecutivos o no, y sin necesidad de "reasignar" el id a todos los banners cuando borrás uno. Estoy asumiendo que en el script original el id es único para cada banner.
El código modificado sería algo así:


Código PHP:
<?php
include("config.php");
$query mysql_query("SELECT * FROM banners ORDER BY RAND() LIMIT 1");
if(
$row mysql_fetch_assoc($query)) {
 echo 
'<table width="88" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><a href="'
.$row['url'].'" target=_blank><img src="'.$row['banner'].'" width="88" height="31" border="0"></a></td>
  </tr>
</table>'
;
 }
?>
Espero te sirva.

Saludos!
__________________
Joel A. Chornik
ELSERVER.COM - WebHosting Profesional
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 21:55.