Un difficile problème
3 messages
• Page 1 sur 1
-

Endal - Nouveau WRInaute

- Messages: 12
- Inscription: 20 Aoû 2005
Un difficile problème
Hello all ,
Pour séparer pages, j'ai écrit un fragment du code comme ci-dessous :
<%
...........
set rs=Server.CreateObject("ADODB.Recordset")
rs.CursorLocation=3
rs.PageSize=30
cPage=Request.QueryString("iPage")
if cPage="" OR Not IsNumeric(cPage) then cPage=1 End if
rs.Open sql, conn, 0,3
totalRecords=rs.RecordCount
if totalRecords>0 then
rs.AbsolutePage=cPage
No=1
Do Until No>rs.PageSize OR rs.EOF
%>
L'exposition des teneurs selon conditions ici
<%
if totalRecords/7 >1 then
queryString="Visitors.asp?ClassID="&session.sessionID&"&ViewType="&session("ViewType")
Dim sNo, eNo, Segment, StrLink
totalPages=totalRecords\7
if totalRecords mod 7 > 0 then totalPages=totalPages+1 end if
Segment=cPage\7
if cPage mod 7 > 0 then Segment=Segment+1 end if
sNo=Segment*7-6
eNo=Segment*7
if Segment*7>totalPages then eNo=totalPages end if
strLink=""
if Segment>1 then
strLink=strLink&"<a href='"&queryString &"&iPage="&(Segment-1)*7&"' onclick='doLoad()'> Previous</a> "
end if
For No=sNo to eNo
if No=cInt(cPage) then
strLink=strLink&" "& No & " "
else
strLink=strLink&" <a href='"&queryString&"&iPage="&No&"' onclick='doLoad()'><u>"&No&"</u></a> "
end if
Next
if totalPages>Segment*7 then
strLink=strLink&" <a href='"&queryString&"&iPage="&(Segment*7)+1&"' onclick='doLoad()'>Next</a>"
end if
Response.Write(strLink)
end if
%>
Les résultats semblent être très excellents :
Et au bas de la page :
Pauvre! Le problème se trouve dans les liens de pages . Il y a plus de 7 pages de resultats, mais il n'y a que 6 pages qui contient de la donnée !
Voilà , c'est le 7 è page :
Les pages par la suite qui sont même état !
Savez - vous où est mon erreur ? Indiquez-moi , s'il vous plait .
Je vous remercie par avance .
Pour séparer pages, j'ai écrit un fragment du code comme ci-dessous :
<%
...........
set rs=Server.CreateObject("ADODB.Recordset")
rs.CursorLocation=3
rs.PageSize=30
cPage=Request.QueryString("iPage")
if cPage="" OR Not IsNumeric(cPage) then cPage=1 End if
rs.Open sql, conn, 0,3
totalRecords=rs.RecordCount
if totalRecords>0 then
rs.AbsolutePage=cPage
No=1
Do Until No>rs.PageSize OR rs.EOF
%>
L'exposition des teneurs selon conditions ici
<%
if totalRecords/7 >1 then
queryString="Visitors.asp?ClassID="&session.sessionID&"&ViewType="&session("ViewType")
Dim sNo, eNo, Segment, StrLink
totalPages=totalRecords\7
if totalRecords mod 7 > 0 then totalPages=totalPages+1 end if
Segment=cPage\7
if cPage mod 7 > 0 then Segment=Segment+1 end if
sNo=Segment*7-6
eNo=Segment*7
if Segment*7>totalPages then eNo=totalPages end if
strLink=""
if Segment>1 then
strLink=strLink&"<a href='"&queryString &"&iPage="&(Segment-1)*7&"' onclick='doLoad()'> Previous</a> "
end if
For No=sNo to eNo
if No=cInt(cPage) then
strLink=strLink&" "& No & " "
else
strLink=strLink&" <a href='"&queryString&"&iPage="&No&"' onclick='doLoad()'><u>"&No&"</u></a> "
end if
Next
if totalPages>Segment*7 then
strLink=strLink&" <a href='"&queryString&"&iPage="&(Segment*7)+1&"' onclick='doLoad()'>Next</a>"
end if
Response.Write(strLink)
end if
%>
Les résultats semblent être très excellents :
Et au bas de la page :
Pauvre! Le problème se trouve dans les liens de pages . Il y a plus de 7 pages de resultats, mais il n'y a que 6 pages qui contient de la donnée !
Voilà , c'est le 7 è page :
Les pages par la suite qui sont même état !
Savez - vous où est mon erreur ? Indiquez-moi , s'il vous plait .
Je vous remercie par avance .
- iconso
- WRInaute occasionnel

- Messages: 446
- Inscription: 8 Avr 2003
J'ai regardé brièvement ton code, sans trop m'y attarder. Ton erreur vient sans doute soit d'un mauvais calcul du eNo, soit de ta boucle FOR qui se fait une fois de trop (For No=sNo to eNo) : selon la méthode dont ton eNo est calculé, tu devras peut-être utiliser un "For No=sNo to eNo-1"
Fred
Fred
-

Endal - Nouveau WRInaute

- Messages: 12
- Inscription: 20 Aoû 2005
iconso, merci bien ;
Je suis sur que sNo ( startNumero) et eNo (endNumero) - je préfère nommer des variables suivant cet habitude - qui n'ont pas de problème
C'est ce code qui a été utilisé sur quelques autres pages et a donné bons resultats .
Mais dans ce page , je voudrais que chaque page contient 30 fields : rs.PageSize=30
Alors, voilà mon erreur :
totalPages=totalRecords\7
if totalRecords mod 7 > 0 then totalPages=totalPages+1
Je l'ai changé en :
totalPages=totalRecords\30
if totalRecords mod 30 > 0 then totalPages=totalPages+1
Maintenant, l'affaire est réglée ! Mais quoi qu'il en soit, plus d'un fois, je te remercie de ton enthousiasme.
----------------
Je suis sur que sNo ( startNumero) et eNo (endNumero) - je préfère nommer des variables suivant cet habitude - qui n'ont pas de problème
C'est ce code qui a été utilisé sur quelques autres pages et a donné bons resultats .
Mais dans ce page , je voudrais que chaque page contient 30 fields : rs.PageSize=30
Alors, voilà mon erreur :
totalPages=totalRecords\7
if totalRecords mod 7 > 0 then totalPages=totalPages+1
Je l'ai changé en :
totalPages=totalRecords\30
if totalRecords mod 30 > 0 then totalPages=totalPages+1
Maintenant, l'affaire est réglée ! Mais quoi qu'il en soit, plus d'un fois, je te remercie de ton enthousiasme.
----------------
3 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Référencement d'un site en frames - 04-08-2008
- Google veut-il dépasser les 20 milliards de pages de Yahoo ? - 09-09-2005
- Jimmy Mardell, gagnant du Google Code Jam 2003 - 16-11-2003
- Description du TrustRank - 06-06-2005
- Des mises à jour de plus en plus fréquentes chez Google - 18-10-2005
- Description du Google File System (GFS) - 27-01-2006
- Moteur de recherche dans les blogs de Google - 24-01-2007
- La grogne contre AutoLink (Google Toolbar) - 22-02-2005
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
