Foros del Web » Programando para Internet » ASP Clásico »

Buscadores con paginación

Estas en el tema de Buscadores con paginación en el foro de ASP Clásico en Foros del Web. Hola!!! Tengo hechos 2 buscadores, pero tengo problemas con la paginación. El primero es simplemente presentar datos de la BD pero la paginación que tengo ...
  #1 (permalink)  
Antiguo 27/03/2007, 01:47
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 17 años, 7 meses
Puntos: 0
Buscadores con paginación

Hola!!! Tengo hechos 2 buscadores, pero tengo problemas con la paginación.

El primero es simplemente presentar datos de la BD pero la paginación que tengo hecha saca todas la páginas, como podría hacer para que me sacará tipo así: <<anterior- 1,2..3,4 - siguiente>> Porque la que tengo, saca incluso la página en la que estas con enlace. El´código es el siguiente:
Código HTML:
<%
Set conn_on = Server.CreateObject("ADODB.Connection")
                                                    strconn_on = "driver={SQL Server};server=xxx.com;uid=xxx;pwd=xxx;database=gxxx" '## MS SQL Server 7
                                                    conn_on.open strconn_on
                                                    sqlc="select * from gce_empresas where EMP_ACT='"&cod_activi&"' UNION select * from gce_empresas2 where EMP_ACT='"&cod_activi&"' ORDER BY EMP_NOM"
                                                    Set rsc = Server.CreateObject("ADODB.Recordset")
                                                    rsc.Open sqlc, conn_on, 3, 3 

                                                     Dim contpag
                                                                      'Registros por pgina
                                                                      Dim registros
                                                                      registros = 6
                                                                      contpag=0
                                                                      Do Until rsc.EOF 
                                                                           contpag = contpag + 1
                                                                           rsc.MoveNext
                                                                      loop
                                                                      rsc.MoveFirst
                                                                      dim pagactual
                                                                      pagactual = Request.QueryString("pagactual")
                                                                      if pagactual = null then
                                                                            pagactual = 0
                                                                      else
                                                                            pagactual = pagactual * registros
                                                                      end if 




                                                     If not rsc.eof then  
                                                                        
                                                                         rsc.MoveFirst
    	                                                            rsc.Move  pagactual
    	                                                            dim contador
    	                                                            contador = 0
    	                                                            do until rsc.EOF   or contador = registros     
                                                                    
                                                                        response.Write("<tr height='40'>")
                                                                        response.Write("<td valign='top' height='40'>")
                                                                        response.Write("<table width='100%' border='0' cellspacing='2' cellpadding='0' height='33'>")
                                                                        response.Write("<tr>")
                                                                        response.Write("<td class='l_1' valign='middle' bgcolor='#ffe4bf'>")
                                                                        response.Write("<table width='100%' border='0' cellspacing='0' cellpadding='0'>")
                                                                        response.Write("<tr>")
                                                                        response.Write("<td><div class='l_1'><p>"& rsc("EMP_NOM")&"</p></div></td>")
                                                                            if cod_activi= 202 then
                                                                        response.Write("<td width='45'><div align='center'><a class='en6' HREF='"&rsc("EMP_WEB")&"' target='_blank'>ver web</a></div></td>")
                                                                            else
                                                                        response.Write("<td width='45'><div align='center'><a class='en6' HREF='http://"&rsc("EMP_WEB")&"' target='_blank'>ver web</a></div></td>")
                                                                            end if
                                                                        response.Write("<td width='45'><div align='center'><a class='en6' HREF='frm_editar.asp?cod_emp="&rsc("EMP_COD")&"&cod_act="&cod_activi&"' target='_blank'>Modificar</a></div></td>")
                                                                        response.Write("</tr>")
                                                                        response.Write("</table>")
                                                                        response.Write("</td>")
                                                                        response.Write("</tr>")
                                                                        response.Write("<tr>")
                                                                        response.Write("<td class='l_2' valign='bottom'>"& rsc("EMP_DIR")&"<BR>")
                                                                        response.Write(""&rsc("EMP_CP")&"&nbsp;"&rsc("EMP_POB")&"&nbsp;-&nbsp;"&rsc("EMP_PRO")&"&nbsp;-&nbsp;"&rsc("EMP_PAI")&"")
                                                                        response.Write("</td>")
                                                                        response.Write("</tr>")
                                                                        response.Write("</table><br></td></tr>")

                                                                                 
                                                                                rsc.MoveNext 
                                                                                  cuantos = cuantos +1
                                                                                       contador = contador + 1
    	                                                            loop
    	                                                          rsc.Close
                                                                conn_on.Close
                                                                set conn_on=nothing
                                                                set rsc=nothing
                                                                
                                                                  End If   
                                                      
                                                      
                                                      'Preparo la paginacin
                                                                    dim i 
                                                                    dim page
                                                                    i = 0
                                                                    page = -1
                                                                    response.Write("<tr width='100'><td colspan='2' width='100'><table width='80' align='center'><tr><td width='40' align='center'><b>Páginas:</b><br>" )
                                                                    Do until i = contpag
                                                                         i = i + 1
                                                                         if (i mod registros = 0 ) then
                                                                               page = page + 1
                                                                              response.Write("&nbsp;<a href='centro.asp?cod="& cod_activi &"&pagactual=" & page & "'><font class='p_1'>" & page & "</font></a>&nbsp;")
                                                                         end if
                                                                    loop
                                                                    if (i mod registros <> 0) then 
                                                                          response.Write("&nbsp;<a href='centro.asp?cod="& cod_activi &"&pagactual=" & page + 1 & "'><font class='p_1'>" & page + 1  & "</font></a>&nbsp;") 
                                                                    end if
                                                                    response.Write("</td></tr>")
                                                                    'Finalizo la paginacin

                                                    end if
                                                       
                                                                      response.Write("</table>")
                                                                        response.Write("</td>")
                                                                        response.Write("</tr>")                    

                                                      
 %> 

Siguo en el siguiente mensaje
  #2 (permalink)  
Antiguo 27/03/2007, 01:48
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Buscadores con paginación

El segundo es un buscador tengo un formulario que le manda la palabra que quermos buscar en el que tengo esto:

Código HTML:
 <form method="post" action="buscar.asp?mode=buscar" name="buscar" style="word-spacing: 0; margin-top: 0; margin-bottom: 0">
<td height="24"><input name="txtbuscar1" type="text" size="20"></td>
																	<td height="24"><input name="I3" type="image" value="buscar" src="img/boton_buscar.gif" width="35" height="22" border="1"></td>
</form>


Y en la página buscar.asp tengo esto. Pero como puedo aquí hacer la páginación??¿?

<td colspan="3" bgcolor="#A52A2A" align="center" width="80%"><font color="#FFFFFF">
                                                    			Datos encontrados que continen  <b> "
                                                        <%if request.form("txtbuscar1")<>"" then
                                                        response.write request.form("txtbuscar1")
                                                        end if%>"

                                                    		</b></font>
                                                 			 </td>
                                                 			 </tr>
                                                 		

                                            		   
                                                <%if request.querystring("mode") = "buscar" then
                                                     if request.Form("txtbuscar1")= "" then
                                                        response.Write ("<tr><td height='30'></td></tr><tr><td colspan='3' align='center'>Introduce un campo de búsqueda.</td></tr>")
                                                      else
                                                    Set conn_b = Server.CreateObject("ADODB.Connection")
                                                    strconn_b = "driver={SQL Server};server=xxx.com;uid=xxx;pwd=xxx;database=gxxx" '## MS SQL Server 7
                                                    conn_b.open strconn_b
                                            sqlb = "SELECT gce_empresas.EMP_ACT,gce_empresas.EMP_COD,gce_empresas.EMP_NOM,gce_empresas.EMP_DIR,gce_empresas.EMP_CP,gce_empresas.EMP_POB,gce_empresas.EMP_PRO,gce_empresas.EMP_PAI,gce_empresas.EMP_WEB,"
sqlb = sqlb& "gce_actividades.ACT_DES  FROM gce_empresas "
sqlb = sqlb & "INNER JOIN gce_actividades  "
sqlb = sqlb & "ON (gce_empresas.EMP_ACT=gce_actividades.ACT_COD) WHERE EMP_NOM like '%"& request.Form("txtbuscar1")&"%' OR "
sqlb = sqlb & "EMP_DIR like '%"& request.Form("txtbuscar1")&"%' OR EMP_POB like '%"& request.Form("txtbuscar1")&"%' OR "
sqlb = sqlb & "EMP_PRO like '%"& request.Form("txtbuscar1")&"%' OR EMP_PAI like '%"& request.Form("txtbuscar1")&"%' OR "
sqlb = sqlb & "EMP_WEB like '%"& request.Form("txtbuscar1")&"%'"                                          
                                                
                                                cuantos = 0
                                                Set rscb = Server.CreateObject("ADODB.Recordset")
                                                rscb.Open sqlb, conn_b, 3, 3
                                                If not rscb.bof and not rscb.eof then
                                                    cuantos = cuantos +1
                                                    rscb.MoveFirst
                                                    do while not rscb.eof
                                                    cod_activi=rscb("EMP_ACT")
                                              response.Write("<tr height='40'>")
                                                                        response.Write("<td colspan='3' valign='top' height='40'>")
                                                                        response.Write("<table width='100%' border='0' cellspacing='2' cellpadding='0' height='33'>")

                                                                        response.Write("<tr>")
                                                                        response.Write("<td class='l_1' valign='middle' bgcolor='#ffe4bf'>")
                                                                        response.Write("<table width='100%' border='0' cellspacing='0' cellpadding='0'>")                                                                       
                                                                        response.Write("<tr>")
                                                                        response.Write("<td colspan='4' valign='top' bgcolor='#ffe4bf'><a class='en6' HREF='centro.asp?cod="&cod_activi&"'><b>Actividad:</b>"& rscb("ACT_DES")&"</a></td>")
                                                                        response.Write("</tr>")
                                                                        response.Write("<tr>")
                                                                        response.Write("<td><div class='l_1'><p>"& rscb("EMP_NOM")&"</p></div></td>")
                                                                        //PARA FILTRAR LA ACTIVIDAD 202 PORQUE ahi son mails
                                                                            if cod_activi= 202 then
                                                                        response.Write("<td width='45'><div align='center'><a class='en6' HREF='"&rscb("EMP_WEB")&"' target='_blank'>ver web</a></div></td>")
                                                                            else
                                                                        response.Write("<td width='45'><div align='center'><a class='en6' HREF='http://"&rscb("EMP_WEB")&"' target='_blank'>ver web</a></div></td>")
                                                                            end if
                                                                            
                                                                        response.Write("<td width='45'><div align='center'><a class='en6' HREF='frm_editar.asp?cod_emp="&rscb("EMP_COD")&"&cod_act="&rscb("EMP_ACT")&"' target='_blank'>Modificar</a></div></td>")
                                                                        response.Write("</tr>")
                                                                        response.Write("</table>")
                                                                        response.Write("</td>")
                                                                        response.Write("</tr>")
                                                                        response.Write("<tr>")
                                                                        response.Write("<td class='l_2' valign='bottom'>"& rscb("EMP_DIR")&"<BR>")
                                                                        response.Write(""&rscb("EMP_CP")&"&nbsp;"&rscb("EMP_POB")&"&nbsp;-&nbsp;"&rscb("EMP_PRO")&"&nbsp;-&nbsp;"&rscb("EMP_PAI")&"")
                                                                        response.Write("</td>")
                                                                        response.Write("</tr>")
                                                                        response.Write("</table><br></td></tr>")
                                                rscb.MoveNext
                                                cuantos = cuantos +1
                                                if cuantos = 51 then
                                                 exit do
                                                end if
                                                 loop%><!--<tr>
                                                <td bgcolor="#ECA581"><%=cuantos-1%> Resultados encontrados 
                                                    <%if cuantos=81 then%> (limitado a 50 resultados)<%end if%></font>
                                                </td>
                                            </tr> --><%
                                                end if
                                                    end if
                                                    else
                                                    response.write "No se han encontrado coincidencias..."
                                                    End If
                                                    %> 
Gracias por la ayuda de antemano
  #3 (permalink)  
Antiguo 27/03/2007, 04:58
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Re: Buscadores con paginación

Esta es una paginación muy básica, implantala y ya me cuentas

Código:
 
if rs.RecordCount >= 6 then
dividir_resp = (rs.RecordCount) / 5
valor = Mid(dividir_resp,3,2)
total = dividir_resp + entero(valor)
entero_total = Mid(total,1,1)
%>
<b>Ir a&nbsp;</b>
<%
For I = 1 to CInt(entero_total)
If I = pagina_actual Then
%>
[<b><%= I %></b>]&nbsp;<%Else%><a href="./xxx.asp?show=<%=I%>"><%=I%></a><%if I < CInt(entero_total) then%>,
<%
end if
End If
Next
elseif rs.RecordCount <=5 then
[<b><%= I %></b>]&
end if
Suerte
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 19:21.