Problemet er bare, at når jeg trykker på en BESTIL knap ud for det enkelte produkt, genopfrisker den siden, og viser nu side 1 af produkterne, selvom derstår ?page=3 - og når jeg skifter side, er det de samme 5 produkter der bliver vist.
Er det en almindelig fejl? Jeg skal gerne komme med kode, men først vil jeg lige høre om det er en almindelig fejl, og man skal bare gøre det og det, og så virker det.
Jeg har nu brugt 2 timer på at finde ud af det. :o(
Og du har testet på om sidetallet overhoved bliver modtaget? Hvis ikke, så prøv at udskrive sidetallet, og hvis det er 1 hver gang, så er det din request.Querystring("page") den er gal med...
hjemmesiden der er problemet er www.mrsskipper.dk (min hustrus hjemmeside) - gå under produkter og smykker, og der virker bladrersystemet fint. Men lige så snart jeg har trykket på BESTIL knappen viser den kun side 1, selvom jeg bladrer frem og tilbage.
Hmm... jeg prøvede lige og paging virkede kun 1. gang. Da jeg havde trykket bestilt virkede det ikke længere, heller ikke selvom jeg tastede adressen ind og startede forfra. Det er godt nok underligt...
Det er dette her, der tager sig af sidetallet:
intPage = Request("page") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If
Først forsøger den at hente tallet fra querystring, og hvis der så ikke står et sidetal, så sætter den det automatisk til 1. Hvis den første linie mangler, eller hvis der er en fejl i den, så bliver sidetallet altså altid 1. Jeg tror det er her problemet ligger.
Prøv engang et sted i din kode, evt. lige efter dette stykke, at skrive:
response.Write intpage
det udskriver sidetallet.
En anden ting er, at det nok kunne være en god ide at føre sidetallet med i querystring'en også når man trykker bestil...
Hvis du smider din kode her, så er det nok noget lettere at spotte fejlen, men prøv endelig om du kan fikse det selv først (det lærer man oftest mest af). Men så sørg for at lave et backup af den oprindelige kode... ;)
jeg har MANGE backups af de sider ;) Jeg *har* prøvet at lave noget, og fik det gemt, og så gik det i total ged, og så kunne jeg ikke huske hvad jeg lavede om på... måtte starte forfar.. men som du siger - det er noget man lærer af :) Jeg prøver lige din metode..
lige så snart jeg har min intpage med i denne formel - så virker bestil knappen ikke.
min intpage startes på denne måde:
<% intPage = Request("page") if isNumeric(intpage) = False or intPage < 1 then intPage = 1 end If
rst.Open strSQL, con, 1, 3
' hvor mange på hver side If not (rst.BOF or rst.EOF) then rst.Pagesize = 10 rst.AbsolutePage = intPage intRecCount = rst.Pagesize intPageCount = rst.PageCount %>
og den kode er sat ind efter mit kald til databasen med
strSQL = "Select * From qrySmykker where kategorid=" & request.QueryString("kategorid")
hvad gør jeg forkert?! for når jeg fjerner intpage i min BESTIL kommando, så virker den fint med bestillingen, men så bare ikke med page=
ok - det var min '" der var byttet rundt, derfor den ikke virkede. Nu har jeg fået DEN til at virke, men den viser stadigvæk side 1 selvom selve koden skal vise side 3...
Jeg har fundet dit problem. Du overskriver recordsettet i "tekst til kurv"-sektionen. Kald i stedet det recordset for rstKurv eller lignende, så er problemet løst.
Prøv at skifte dette i din kurvetekstdel:
strSQL2 = "Select * From qrySmykker WHERE billedepath=" & tekst(0) set rst = Con.execute(strSQL) pris = pris + (rst("pris") * tekst(1))
ud med følgende:
strSQL2 = "Select * From qrySmykker WHERE billedepath=" & tekst(0) set rstKurv = Con.execute(strSQL) pris = pris + (rstKurv("pris") * tekst(1))
Sidetallet blev jo, som jeg også skrev tidligere, modtaget korrekt. Så måtte fejlen være i pagingen af recordsettet. Og det måtte være i forbindelse med kurven, fordi fejlen først opstod, når der var trykket bestil, og blev ved sålænge der var noget i kurven. Så kiggede jeg efter, hvad der skete med recordsettet i forbindelse med kurven, og der så jeg jo så, at du overskrev det.
Det strider imod princippet i pagingen. Når du læser nye records ind undervejs, bryder du med dette her:
og derfor bliver posterne ikke paget, selvom det er det rigtige sidetal i intPage.
Og så vil jeg lige tilføje, at du nok også bør rette så du får sidetallet med i querystring'en, når man tømmer kurven og et par andre steder, men det kan du jo selv lige nørkle lidt med ;)
Og hvis du er seriøs omkring at give mig noget for hjælpen, må du da meget gerne forhandle lidt med din kone om vennepris på et par øreringe eller noget ;) Der er virkelig nogle pæne ting imellem :o)
Det er jo det vi alle er her for - at lære og få erfaring ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.