reyterg
Messages postés21Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention25 octobre 2004
-
19 mars 2004 à 10:44
amel468
Messages postés34Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention10 avril 2006
-
9 août 2004 à 16:00
Bonjour,
Comment puis-je paginer mes pages tout en gardant en mémoire ma requête SQL.
La question est simple et courante dans les sites dynamiques, mais je ne m'en sort pas. (pôôôvre novice que je suis)
L'affichage de la première page marche. Il affiche dans le navigateur:www.monsite.com/mapage.asp?rub=mode_homme
Par contre, quand j'utilise ma pagination pour aller en page 2, ça affiche dans le navigateur: www.monsite.com/mapage.asp?num=8
C'est normal, je vois bien qu'il y a une grosse erreur, mais je ne trouve pas comment faire. Dans mes tests, j'en suis arrivé à cette réponse de navigateur, mais sans succès: www.monsite.com/mapage.asp?rub&num=8
Merci de m'aider, je me noie
Le code de la page ci-dessous:
<code>Sql= "Select * from luxe WHERE rubrique='" & request("rub") & "' order by nom_sans_pub,nom_avec_pub asc;"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.open Sql,Conn,3,3
' On choisit de faire trois colonnes
Nbcol=2
NbTot=rs.recordcount' Il y a un total de NbTot enregistrements
Nmin = 4 ' nombre par colonne
Nmax=Nmin*NbCol
Ncur = 0 ' n° de la fiche courante
Ndeb = 0 ' 1ère fiche transmise par l'URL
if request.queryString("num")<>"" then _
Ndeb = Cint(request.queryString("num"))
' Il va falloir un certain nombre de lignes
if (NbTot/NbCol)=Cint(NbTot/NbCol) then
NbLigne=NbTot/NbCol
else
NbLigne=1+Cint(NbTot/NbCol)
end if
' Premier enregistrement
Lig=0 ' Pour savoir sur quelle ligne on est
response.write ""
while not RS.eof and Ncur<Nmax+Ndeb
' si elle est à afficher
if Ncur >= Ndeb then
response.write " " & rs("nom_sans_pub")&" " & rs("nom_avec_pub")&" [Fiche info]
"&rs("signalement_liste")&"
[Aller sur le site internet] "&rs("zevent")&"
"
Lig=Lig+1
If Lig=Nmin then response.write ""%>
<table cellpadding=3>
----
<% ' Navigation
' Des fiches avant ?
if Ndeb > 0 then%>, \">Retour
</td>
<%end if
' N° des pages
Npag = int(RS.recordCount/Nmax)
if Npag < RS.recordCount/Nmax then Npag = Npag + 1
for i = 1 to Npag%>
<% ' Page courante ?
if Ndeb = (i-1)*Nmax then%>
<%=i%>
<%else%>
"
><%=i%>
<%end if%>,
<%next
' Des fiches après ?
if not RS.eof then%>
">Suite,
<%end if
RS.close : set RS=nothing%>
dupython
Messages postés4Date d'inscriptiondimanche 23 décembre 2001StatutMembreDernière intervention19 mars 2004 19 mars 2004 à 17:25
Salut !
D'abord, n'utilise pas request("rub") mais request.querystring("rub")...
Ca a rien a voir mais ca m'a fait mal aux yeux...
Sauf si tu as une bonne raison, dans ce cas donne la moi ca m'interesse.
Sinon pour ton probleme, ca me parait assez simple :