Foros del Web » Creando para Internet » CSS »

Banner rotatorio en XHTML, CSS2 y ASP

Estas en el tema de Banner rotatorio en XHTML, CSS2 y ASP en el foro de CSS en Foros del Web. Quiero hacer un tipo de banner como este: http://www.megasur.es/ El problema es que lo quiero hacer desde una base ya hecha con asp y mysql. ...
  #1 (permalink)  
Antiguo 23/04/2012, 03:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 14 años
Puntos: 6
Banner rotatorio en XHTML, CSS2 y ASP

Quiero hacer un tipo de banner como este:

http://www.megasur.es/

El problema es que lo quiero hacer desde una base ya hecha con asp y mysql. Lo que tengo es esto:

A través de un gestor de contenido hecho a mano el usuario da de alta en la tabla portadas un registro con:

Un título
Un comentario

Después le pido que suba un jpg, el nombre del jpg no lo registro en la db ya que lo busco a través del id autonumérico de la tabla cambiándole el nombre.

Es decir, subo el jpg archivo.jpg y lo guardo así: dominio.com/fotosportada/1234.jpg

1234 sería el ID del registro que he creado.

A parte la tabla tiene otro campo que es portada_seleccionada. A través de otro formulario el usuario selecciona qué portada es la que quiere para el index

Cuando cargo el index, hago una consulta (SELECT * FROM portadas where porselec='SELECCIONADA') buscanco la portada seleccionada y la muestro. De esta manera saco el nombre del archivo: "fotosportada/" & rs("PORcod") & ".jpg"

Pero claro la portada es siempre la misma hasta que no cambie a otra en el gestor de contenido.

Quiero hacer un banner rotativo a través de esta base.

Quiero que el usuario pueda seleccionar una o varias portadas para que aparezcan en el index, cada vez que se cargue el index se hará una consulta a la DB para saber cuales son las portadas a mostrar e irán girando.

La página está en XHTML, CSS2 y ASP

Veo que hay muchas formas de hacerlo
¿qué código es el más sencillo?
¿qué me viene mejor?
  #2 (permalink)  
Antiguo 23/04/2012, 05:34
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Banner rotatorio en XHTML, CSS2 y ASP

el lenguaje que te falta es javascript. esto te dará idea de como hacerlo
Cita:
<%
Dim Imagen, Url, Texto, i, j
Imagen = 0
Url = 1
Texto = 2

' conexión
' consulta

registros = rs.getrows()

rs.Close
Set rs = Nothing
oConn.Close
Set oConn = Nothing

Dim ristra_img(5), ristra_url(5), ristra_texto(5)
For i = 0 to UBound(registros,2)
ristra_img(i) = registros(Imagen,i)
ristra_url(i) = registros(Url,i)
ristra_texto(i) = registros(Texto,i)
Next 'i
%>

<html>
<head>
<title>Rotador de publicidad</title>

<script type="text/javaScript">
var publicidad = [<%="'" & Join(ristra_img, "', '") & "'"%>];
var direccion = [<%="'" & Join(ristra_url, "', '") & "'"%>];
var texto = [<%="'" & Join(ristra_texto, "', '") & "'"%>];

var contador = 0;
var url = "";

function RotarPublicidad(){
if(contador > 4)

contador = 0;

document.getElementById("publicidad").innerHTML = "<img src="+publicidad[contador]+" width='62px' height='12px' title="+texto[contador]+" border='0px' />"
url = direccion[contador];
document.getElementById("texto").innerHTML = texto[contador];
document.getElementById("publicidad_peq_4").style. background="#FFFFFF";
document.getElementById("publicidad_peq_"+contador ).style.background="#FF0000";
if (contador >= 1)
document.getElementById("publicidad_peq_"+(contado r-1)).style.background="#FFFFFF";

contador++;
}


timer = setInterval("RotarPublicidad()", 2000);
window.onload = RotarPublicidad;

</script>
</HEAD>
<body>
<a href="#" onClick="window.open(url,'Ventana');">
<div id="publicidad"></div>
</a>

<div id="texto"></div>

<table border="1">
<tr>
<%
For j = 0 to UBound(registros,2)
%>
<td id="publicidad_peq_<%=j%>">
<img src="<%=registros(Imagen,j)%>" />
</td>
<%
Next 'j
%>
</tr>
</table>
</body>
</html>
pd: pide que te muevan el tema al foro de javascript o asp
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 25/04/2012, 06:29
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 14 años
Puntos: 6
Respuesta: Banner rotatorio en XHTML, CSS2 y ASP

puffff.... pues nada voy a ponerme a ello, cuando tenga el sistema completo con funciones lo pongo por aquí, todo lo que he encontrado para DB's es muy ambiguo y antiguo.

Por favor, moverme el tema al foro de javascript o asp



PD. a parte de javascript ¿no hay otra forma?
  #4 (permalink)  
Antiguo 25/04/2012, 06:56
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 14 años
Puntos: 6
Respuesta: Banner rotatorio en XHTML, CSS2 y ASP

He modificado el código con mi datos de la base de datos:

Código ASP:
Ver original
  1. <!-- #include file="include/dbon.inc"-->
  2. <%
  3.     Dim Imagen, Url, Texto, i, j
  4.     Dim ristra_img, ristra_url, ristra_texto
  5.     Imagen = 0
  6.     Url = 1
  7.     Texto = 2
  8.    
  9.     set rs = Conn.Execute("SELECT * FROM portadas")
  10.    
  11.     registros = rs.getrows()
  12.     rs.Close
  13.     Set rs = Nothing
  14.    
  15.     ristra_img = ""
  16.     ristra_url = ""
  17.     ristra_texto = ""
  18.     For i = 0 to UBound(registros,2)
  19.     ristra_img = ristra_img & "'" & registros(Imagen,i) &"',"
  20.     ristra_url = ristra_url & "'" & registros(Url,i) &"',"
  21.     ristra_texto = ristra_texto & "'" & registros(Texto,i) &"',"
  22.     Next 'i
  23. %>
  24.  
  25.  
  26. <html>
  27.     <head>
  28.         <title>Rotador de publicidad</title>
  29.        
  30.         <script type="text/javaScript">
  31.             var publicidad = [<%=Left(ristra_img,Len(ristra_img)-1)%>];
  32.             var direccion = [<%=Left(ristra_url,Len(ristra_url)-1)%>];
  33.             var texto = [<%=Left(ristra_texto,Len(ristra_texto)-1)%>];
  34.            
  35.             var contador = 0;
  36.             var url = "";
  37.            
  38.             function RotarPublicidad(){
  39.                 if(contador > 4)
  40.                
  41.                 contador = 0;
  42.                
  43.                 document.getElementById("publicidad").innerHTML = "<img src="+publicidad[contador]+" width='62px' height='12px' title="+texto[contador]+" border='0px' />"
  44.                 url = direccion[contador];
  45.                 document.getElementById("texto").innerHTML = texto[contador];
  46.                 document.getElementById("publicidad_peq_4").style. background="#FFFFFF";
  47.                 document.getElementById("publicidad_peq_"+contador ).style.background="#FF0000";
  48.                 if (contador >= 1)
  49.                 document.getElementById("publicidad_peq_"+(contado r-1)).style.background="#FFFFFF";   
  50.                
  51.                 contador++;
  52.                 }
  53.            
  54.            
  55.             timer = setInterval("RotarPublicidad()", 2000);
  56.             window.onload = RotarPublicidad;
  57.        
  58.         </script>
  59.     </HEAD>
  60.    
  61.     <body>
  62.         <a href="#" onClick="window.open(url,'Ventana');">
  63.             <div id="publicidad"></div>
  64.         </a>
  65.        
  66.         <div id="texto"></div>
  67.        
  68.         <table border="1">
  69.             <tr>
  70.                 <%
  71.                 For j = 0 to UBound(registros,2)
  72.                     %>
  73.                     <td id="publicidad_peq_<%=j%>">
  74.                         <img src="<%="fotospor/" & registros(Imagen,j) & "1.jpg"%>" alt="">
  75.                     </td>
  76.                     <%
  77.                 Next 'j
  78.                 %>
  79.             </tr>
  80.         </table>
  81.     </body>
  82. </html>
  83. <!-- #include file="include/dboff.inc"-->

Pero no funciona, me pone una imagen a derecha de la otra a través del For j = 0 to UBound(registros,2) ¿donde se está ejecutando la función de javascript?

PD. nunca he hecho nada en java.
  #5 (permalink)  
Antiguo 25/04/2012, 15:21
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Banner rotatorio en XHTML, CSS2 y ASP

el código funciona. otra cosa es que el layout no sea el que tú quieres, de ahí,
Cita:
esto te dará idea de como hacerlo
has eliminado las matrices y has creado variables

preguntas que donde se está ejecutando el javascript. no entiendo la pregunta, pero supondré que te refieres a esto
Cita:
timer = setInterval("RotarPublicidad()", 2000); // temporizador para invocar a la función recursivamente
window.onload = RotarPublicidad; // cuando la página está cargada se invoca a la función
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #6 (permalink)  
Antiguo 26/04/2012, 01:55
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 14 años
Puntos: 6
Respuesta: Banner rotatorio en XHTML, CSS2 y ASP

Cita:
Iniciado por IsaBelM Ver Mensaje
has eliminado las matrices y has creado variables
¿Te refieres a esto?:

Código ASP:
Ver original
  1. ristra_img = ""
  2.     ristra_url = ""
  3.     ristra_texto = ""
  4.     For i = 0 to UBound(registros,2)
  5.     ristra_img = ristra_img & "'" & registros(Imagen,i) &"',"
  6.     ristra_url = ristra_url & "'" & registros(Url,i) &"',"
  7.     ristra_texto = ristra_texto & "'" & registros(Texto,i) &"',"


No son matrices, lo que hace es concatenar unos valores con otros y dividir los con ( ' ) la única matriz que veo es la del GetRows
  #7 (permalink)  
Antiguo 26/04/2012, 04:46
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Banner rotatorio en XHTML, CSS2 y ASP

pues claro que no son matrices, son variables con valores concatenados. las matrices que has eliminado son
Cita:
ristra_img(i) = registros(Imagen,i)
ristra_url(i) = registros(Url,i)
ristra_texto(i) = registros(Texto,i)
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #8 (permalink)  
Antiguo 26/04/2012, 09:38
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 14 años
Puntos: 6
Respuesta: Banner rotatorio en XHTML, CSS2 y ASP

Pufff... casi lo tenía pero se me estaba haciendo demasiado complejo y tenía que acabar.

Me he decidido por jquery y una librería: jcarousel

Sencillo, corto y funciona de lujo con un millón de posibilidades y ya está hecho:

http://sorgalla.com/jcarousel/

Un ejemplo, de aquí saqué lo que necesité:

http://www.seballero.com/blog/jcarou...rrusel-jquery/

PD. gracias isabel, no creas que lo voy a dejar, yo para mis páginas prefiero código hecho por mi para comprenderlo mejor y no tener miedo a tocarlo después.... más adelante me pondré, gracias por tu paciencia.

Etiquetas: asp, banner, css2, mysql, rotatico, xhtml
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 23:32.