ayuda con paginacion
Publicado por gerardo (1 intervención) el 11/04/2008 10:11:27
hola tengo un problema, he hecho una paginacion pero me exigen que la url y en enlace en la barra de estado no se vea lo k envio un ej:
http://prueba.hola.asp?page=2
pues quiero que salga asi
http://prueba.hola.asp#
que no se va lo de page=2
os paso el codigo para que lo veais, haber si me podeis poner lo que falta, me han dixo que lo haga con un formulario y que me lo envie a la misma pagina
____________________________________________________________________________
este codigo es sin formulario y funciona la paginacion:
<HTML>
<head>
<style type="text/css">
<!--
.Estilo15 {color:#0000FF; font-weight: bold; font-size: large; }
.Estilo1 {color:#000000;font-weight: bold;}
.Estilo4 {color:#000000;font-weight: bold;}
a:visited{color:#FF0066;text-decoration:none;}
a:hover{color:#FF8282;}
a:link{color:#FAFED8;text-decoration:none;}
-->
</style>
</head>
<BODY bgcolor="#FFFF66">
<%
Dim mostrar 'cantidad de registros a mostrar por pgina
Dim cant_paginas 'cantidad de pginas que recibimos
Dim pagina_actual 'La pgina que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las pginas
Dim I 'Variable Loop
mostrar = 3
control2=0
if InStr(Request.querystring("page"), "'")<> 0 then
control2=1
end if
if control2=1 then response.Redirect("http://gerardo3e.brinkster.net/trabajo_ejercicio3/principal_error.html")
If Request.querystring("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If
strSQL = "SELECT * FROM periodicos"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("bbdd.mdb")
Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar
RS.Open strSQL, oConn,3,1
cant_paginas = RS.PageCount
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1
If cant_paginas = 0 Then
Response.Write "No hay registros..."
Else
RS.AbsolutePage = pagina_actual
%>
<%
Response.Write "<BR><BR>" & vbCrLf
Response.Write "<TABLE BORDER='4' width='50%' height='20%' bordercolor='#0000FF'>" & vbCrLf
' Mostramos los titulos de las columnas... (pueden sacar ese FOR para eliminar eso)
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD align='center'><span class='Estilo15'><B>"
Response.Write RS.Fields(I).Name
Response.Write "</B></span></TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf
' Hacemos el bucle mostrando los datos del registro
registro_mostrado = 0
Do While registro_mostrado < mostrar And Not RS.EOF
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD>"
Response.Write RS.Fields(I)
Response.Write "</TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf
' Sumamos 1 a los mostrados
registro_mostrado = registro_mostrado + 1
' Nos movemos al prximo registro...
RS.MoveNext
Loop
'listo...
Response.Write "</TABLE>" & vbCrLf
End If
' Cerramos y limpiamos...
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
' Ahora mostramos los enlaces a las otras pginas con el resto de los registros...
If pagina_actual > 1 Then
%>
<a href="./paginacion_periodicos.asp?eje=30&page=<%= pagina_actual - 1 %>">[<< Anterior]</a>
<%
End If
' mostramos la paginacion por numeros de pgina
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
<%= I %>
<%
Else
%>
<a href="./paginacion_periodicos.asp?eje=30&page=<%= I %>"><%= I %></a>
<%
End If
Next 'I
If pagina_actual < cant_paginas Then
%>
<a href="./paginacion_periodicos.asp?eje=30&page=<%= pagina_actual + 1 %>">[Proximo >>]</a>
<%
End If
%>
<br>
<br>
<span class='Estilo4'><A HREF='http://gerardo3e.brinkster.net/trabajo_ejercicio3/principal.html'>IR A LA PAGINA PRINCIPAL</A></span>
</body>
</html>
______________________________________________________________________--
y tengo 2 funciones javascript k me han dado las escribo tambien:
<script language="JavaScript" type="text/javascript">
<!--
function enviar()
{
alert('vble: '+document.form1.cont.value);
document.form1.cont.value = document.form1.cont.value + 1
//co=document.form1.cont.value
//co=co+1
document.form1.submit()
}
function ir_a(x)
{
alert('vble: ' + x);
document.form1.cont.value = x;
document.form1.submit();
}
//-->
</script>
_________________________________________________________
se que hay que enviar algo con un hidden pero estoy perdido.
muchas gracias
http://prueba.hola.asp?page=2
pues quiero que salga asi
http://prueba.hola.asp#
que no se va lo de page=2
os paso el codigo para que lo veais, haber si me podeis poner lo que falta, me han dixo que lo haga con un formulario y que me lo envie a la misma pagina
____________________________________________________________________________
este codigo es sin formulario y funciona la paginacion:
<HTML>
<head>
<style type="text/css">
<!--
.Estilo15 {color:#0000FF; font-weight: bold; font-size: large; }
.Estilo1 {color:#000000;font-weight: bold;}
.Estilo4 {color:#000000;font-weight: bold;}
a:visited{color:#FF0066;text-decoration:none;}
a:hover{color:#FF8282;}
a:link{color:#FAFED8;text-decoration:none;}
-->
</style>
</head>
<BODY bgcolor="#FFFF66">
<%
Dim mostrar 'cantidad de registros a mostrar por pgina
Dim cant_paginas 'cantidad de pginas que recibimos
Dim pagina_actual 'La pgina que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las pginas
Dim I 'Variable Loop
mostrar = 3
control2=0
if InStr(Request.querystring("page"), "'")<> 0 then
control2=1
end if
if control2=1 then response.Redirect("http://gerardo3e.brinkster.net/trabajo_ejercicio3/principal_error.html")
If Request.querystring("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If
strSQL = "SELECT * FROM periodicos"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("bbdd.mdb")
Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar
RS.Open strSQL, oConn,3,1
cant_paginas = RS.PageCount
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1
If cant_paginas = 0 Then
Response.Write "No hay registros..."
Else
RS.AbsolutePage = pagina_actual
%>
<%
Response.Write "<BR><BR>" & vbCrLf
Response.Write "<TABLE BORDER='4' width='50%' height='20%' bordercolor='#0000FF'>" & vbCrLf
' Mostramos los titulos de las columnas... (pueden sacar ese FOR para eliminar eso)
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD align='center'><span class='Estilo15'><B>"
Response.Write RS.Fields(I).Name
Response.Write "</B></span></TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf
' Hacemos el bucle mostrando los datos del registro
registro_mostrado = 0
Do While registro_mostrado < mostrar And Not RS.EOF
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD>"
Response.Write RS.Fields(I)
Response.Write "</TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf
' Sumamos 1 a los mostrados
registro_mostrado = registro_mostrado + 1
' Nos movemos al prximo registro...
RS.MoveNext
Loop
'listo...
Response.Write "</TABLE>" & vbCrLf
End If
' Cerramos y limpiamos...
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
' Ahora mostramos los enlaces a las otras pginas con el resto de los registros...
If pagina_actual > 1 Then
%>
<a href="./paginacion_periodicos.asp?eje=30&page=<%= pagina_actual - 1 %>">[<< Anterior]</a>
<%
End If
' mostramos la paginacion por numeros de pgina
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
<%= I %>
<%
Else
%>
<a href="./paginacion_periodicos.asp?eje=30&page=<%= I %>"><%= I %></a>
<%
End If
Next 'I
If pagina_actual < cant_paginas Then
%>
<a href="./paginacion_periodicos.asp?eje=30&page=<%= pagina_actual + 1 %>">[Proximo >>]</a>
<%
End If
%>
<br>
<br>
<span class='Estilo4'><A HREF='http://gerardo3e.brinkster.net/trabajo_ejercicio3/principal.html'>IR A LA PAGINA PRINCIPAL</A></span>
</body>
</html>
______________________________________________________________________--
y tengo 2 funciones javascript k me han dado las escribo tambien:
<script language="JavaScript" type="text/javascript">
<!--
function enviar()
{
alert('vble: '+document.form1.cont.value);
document.form1.cont.value = document.form1.cont.value + 1
//co=document.form1.cont.value
//co=co+1
document.form1.submit()
}
function ir_a(x)
{
alert('vble: ' + x);
document.form1.cont.value = x;
document.form1.submit();
}
//-->
</script>
_________________________________________________________
se que hay que enviar algo con un hidden pero estoy perdido.
muchas gracias
Valora esta pregunta


0