Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2006, 03:23
Avatar de Laika
Laika
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 7 meses
Puntos: 0
Ayuda con Paginar resultados (función de 3pies)

hola intento adaptar la función de 3pies de paginar resultados en asp a una busqueda que hago en la base de datos y no consigo que me funcione. Este es el codigo. haber si me podeís ayudar.

En el While calculo el valor de la variable PaginasTotales.

Cita:
function mostrar_resultados()

on error resume next

'Si se busca con la caja de texto vacia
if request.QueryString("criterio") = "" then
response.Write("Debe escribir algun criterio de búsqueda")
exit function
end if

sql="SELECT * from tabla1 WHERE campo1 like '%"&Request.QueryString("criterio")&"%' AND campo2 <> '' "

sqlvalido=true
if sqlvalido then

Set Conn = Createobject("ADODB.Connection")
Set rs = CreateObject ("ADODB.RecordSet")
conn.open "bdatos"
rs.open sql,conn

%>


<table width="567" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">

<tr>
<td align="center">

<br /><br />

<%do while not rs.eof

%>

<table width="541" border="0" align="center" cellpadding="0" cellspacing="0" class="tabla_resultados3">
<tr>
<td width="60%" valign="top"><table width="348" cellspacing="0" cellpadding="0" border="0" class="textoencabficha">
<tr>
<td width="358"><div align="left" class="texto_nombrefq"><%=Ucase(rs("campo4"))%></div></td>
</tr>
<tr>
<td><br><div align="left"><%=rs("campo5")%></div></td>
</tr>
<tr>
<td><br><div align="left">Total: <%=rs("campo6")%></div>
<p></p></td>
</tr>
<tr>
<td><br><div align="left"><a href="ficha.asp?id=<%=rs("id")%>" class="texto_protec_datos">ver mas...</a></div>
<p></p></td>
</tr>
</table></td>
<td width="40%" align="left" valign="top"><table width="214" border="0">
<tr>
<td width="213" height="152"><div align="left"><a href="ficha.asp?id=<%=rs("id")%>"><img src="imagenes/<%=rs("logo")%>" alt="<%=rs("campo6")%>" width="150" border="0" align="right" /></a> </div></td>
</tr>
</table></td>
</tr>
</table> <br />
<%
PaginasTotales=PaginasTotales+1

rs.movenext
loop

%>

</td>
</tr>
</table>


<%

'Modificar el contenido de las constantes para cambiar el aspecto de la barra de navegación
const EstiloDeLaTabla = "border: 1px solid #D6AD6B; font-family: Arial, Helvetica, sans-serif; font-size: 10px;"
const EstiloCeldaPaginaXdeY = "color: #846B42; background-color: #D6AD6B;"
const LinkDelEnlace = "resultados.asp?Request.QueryString("criterio" )"
const EstiloDeLaCeldaPaginaActual = "background-color:#EFD6AD; font-weight:bold;"
const EstiloDeLaCeldaPaginaConLink = "background-color:#F7E7C6"

if PaginasTotales > 1 then
if PaginasTotales > 5 then MostrarUltima = true
TablaConBarraDeNavegacion = "<table border=""0"" cellpadding=""2"" cellspacing=""1"" style=""" & EstiloDeLaTabla & """><tr><td style=""" & EstiloCeldaPaginaXdeY & """>&nbsp; P&aacute;gina " & PaginaActual & " de " & PaginasTotales & "&nbsp;&nbsp;</td>"
if PaginaActual >= 4 then
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?pagina=1"" class=""" & LinkDelEnlace & """><strong>«</strong> Primera</a></td>"
CantidadAMostrarDeAnterioresYPosteriores = 2
'Indicamos la celda central como activa, y sin link
'(la 3ª, de las 5 mostradas), y el resto con link
for i = 1 to 5
'No mostramos link si estamos en la 3ª celda de las 5 mostradas
if i = 3 then
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style=""" & EstiloDeLaCeldaPaginaActual & """>" & PaginaActual & "</td>"
else
'Mostramos el link si estamos en las celdas distintas de la 3ª (la central)
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style=""" & EstiloDeLaCeldaPaginaConLink & """><a href="""& PaginaActualBarraDeNavegacion & "?pagina=" & PaginaActual - CantidadAMostrarDeAnterioresYPosteriores & """ class=""" & LinkDelEnlace & """>" & PaginaActual - CantidadAMostrarDeAnterioresYPosteriores & "</a></td>"
end if

if PaginaActual - CantidadAMostrarDeAnterioresYPosteriores = PaginasTotales then
MostrarUltima = False
Exit For
end if

CantidadAMostrarDeAnterioresYPosteriores = CantidadAMostrarDeAnterioresYPosteriores - 1
next
else
if PaginasTotales < 5 then
for i = 1 to PaginasTotales
if i <> PaginaActual then
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?pagina=" & i & """ class=""" & LinkDelEnlace & """>" & i & "</a></td>"
else
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaActual &""">" & i & "</td>"
end if
next
else
For i = 1 to 5
if i <> PaginaActual then
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?pagina=" & i & """ class=""" & LinkDelEnlace & """>" & i & "</a></td>"
else
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaActual &""">" & i & "</td>"
end if
next
end if
end if

if MostrarUltima = true then TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?pagina=" & PaginasTotales & """ class=""" & LinkDelEnlace & """>&Uacute;ltima <strong>»</strong></a></td>"
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "</tr></table>"
BarraDeNavegacion = TablaConBarraDeNavegacion
end if %>


<p>&nbsp;</p>

<p>&nbsp;</p>


<%
end if
conn.close

end function