Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 ayuda por favor, no se que he hecho mal
 Foro Bloqueado  Tema Bloqueado


Autor Temas
edipo
Starting Member

España
18 Posts
Mensajes - 23 Jul 2004 :  15:11:59  Ver Perfil  Enviar Email  Visit edipo's Homepage
Hola:
espero que alguien me pueda ayudar. Estoy creando una seccion de noticias para mi web y se listan de 5 en cinco sin embargo ma salen las 5 primeras y al dar siguiente no me pasa a las cinco siguientes.

el codigo asp es:

<html>
<head>
<title>Listado de noticias</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
var winName="titulo"
function Abrir_Ventana(theURL,w,h) {

var windowprops ="top=0,left=0,toolbar=no,location=no,status=no, menubar=no,scrollbars=yes, resizable=no,width=" + w + ",height=" + h;

window.open(theURL,winName,windowprops);
}
</script>
<script language="JavaScript">function title_onmouseover () {pgtitle.style.color = "white"}
function title_onmouseout () {pgtitle.style.color = "#00FFFF"}
</script>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<style type="text/css">
<!-- a {text-decoration: none; color: #FFFFFF;}

a:hover {color: #33CCFF;}
-->
</style>
</head>
<body>
<table width="22%" border="1" bgcolor="#3868A0" bordercolor="#FFFFFF">
<%if numdepag="" then
numdepag=1
end if
if regporpag ="" then
regporpag=5
end if
'Abre la conexion con la base de datos a traves de una conexion ODBC
Set con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("noticias.mdb")&";"
'Ejecuta un sentencia SQL de consulta
sql = "SELECT * FROM Noticias ORDER BY id DESC"
Set result = con.Execute(sql)
'Recorre todas las filas del resultado
contador=1
Do While Not result.EOF and contador <= cint(regporpag)
' Muestra la fila actual
Response.Write "<tr><td><p><b><font face=Verdana size=1></b><div align=""center""><font color=""#CCCCCC"">" &result.Fields("fecha") & "</font></div><b><a href=""Javascript:Abrir_Ventana ('noticia.asp?id=" &result.Fields("id") & "','700','500')"">"&result.Fields("titulo")&"</b><br><font color=""#CCCCCC"">• " &result.Fields("copete") & "</a></font></font></p></td></tr>"
'Pasa a la siguiente fila
result.MoveNext
contador=contador+1
Loop
j=0
if cint(numdepag) <> 1 then
atras=cint(numdepag)-1
response.write "<td align=center><a href=listado.asp?regporpag="&regporpag&"&numdepag=" & atras & ">"&"&lt;&lt;"&"</a></td>"
j=j+1
end if
for i = 1 to result.pagecount
j=j+1
if j>20 then
response.write "</tr><tr>"
j=1
end if
if cint(i) = cint(numdepag) then
response.write "<td bgcolor=#00ff00 align=center>"&i&"</td>"
else
response.write "<td align=center><a href=listado.asp?regporpag="&regporpag&"&numdepag=" & i & ">"&i&"</a></td>"
end if
next
if cint(numdepag) <> result.pagecount then
atras=cint(numdepag)+1
response.write "<td align=center><a href=listado.asp?regporpag="&regporpag&"&numdepag=" & atras & ">"&"&gt;&gt;"&"</a></td>"
end if
'Libera memoria
result.Close
Set result = Nothing
con.Close
Set con = Nothing
%>
</table>

<table width="22%" border="1" cellspacing="0">
<tr bordercolor="#FFFFFF">
<td>&lt;&lt;</td>
<td>
<div align="right">&gt;&gt;</div>
</td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>


y el ejemplo de lo que me pasa esta en:

http://www.pescasonygandara.com/noticias/listado.asp

creo que tiene que ser un problema con el Pagecount pero no doy con ell error. Por favor necesito ayuda
Gracias.

matrix_revolutions_neo
Junior Member

Mexico
249 Posts
Posted - 23 Jul 2004 :  18:07:12  Ver perfil  Enviar e-mail
Pues es totalmete lógico que no te pase a las siguientes 5.

Te falta algo en el que recorras los registros dependiendo del número de página en el que te encuentres. Es decir si estás en la página 1 te debe mostrar del 1 al 5, y la 2 de 6 al 10 etc..

Entonces lo que tienes que hacer es que en la página 2 cuando empieze a hacer el Bucle de los registros, empieze del 6 y no desde el 1.
Entonces una vez que hayas ejecutado la sentecia SQL, pero antes, de que hagas el bucle colocas
<%
regs=numdepag * regporpag
'De está forma tu sabes cuál es el número del último registo que se va a mostrar
'Pero no podemos epezar de ese, ya que es el último
regs=regs - regporpag
'De está forma ya sabes de que registro vas a empezar
for i=0 to regs
result.MoveNext
next
'Y luego ya pones lo de Do while etc..
%>

Espero te sirva
Saludos

Everything that has a beginning has an EndInicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar