/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Paging 'mister' efterflg sider men kun ved~
Fra : Allan Pedersen


Dato : 16-03-09 16:01

Havde først lavet fremvisning i et iframe, men vil så ændre dette
til enten -1 modtag side eller på selve siden i et layer.

Det hele kører fint - indtil jeg indsætter Request.Querystring.

Så vises den første side og resten er tabt - og der kan ikke
bladres, fordi linket er låst af ?kategori= etc...

Hvad skal jeg ændre for at den beholder 'linien' åben eller
henter over i hukommelsen???

Min href er:
<a href='humortest.asp?kategori=butik&hvad=rundt om i
butikslivet'>Hørt i butikken </a>

Koden er:
<%
   intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
   intPage = 1
End If

' Værdien af variablen kategori findes og lægges ind i sql
sætningen
SQL = "select * from joke where kategori='"
&Request.Querystring("kategori")&"' "
Set RS = objConn.Execute(SQL)

If Not (rs.BOF Or rs.EOF) Then
   rs.PageSize = 4
   rs.AbsolutePage = intPage
   intRecCount = rs.PageSize
   intPageCount = rs.PageCount

'overskrift er hentet med over i &Request.Querystring("hvad")&
Response.write "<h1
style='background-color:#f40e7;text-align:left;' > "
&Request.Querystring("hvad")&"</h1><h3
style='background-color:#f40e7;text-align:left;' >"

' her skrives sideantal af siderantal ialt
Response.Write "[ " & intPage & " af " & intPageCount & " ]&nbsp;
</h3><p align='left'>"

Do While Not rs.EOF And intRecCount > 0

'her udskrives tekst fra DB
Response.Write rs("tekst") & "<br/><br />"
   intRecCount = intRecCount - 1

   rs.MoveNext
Loop
End If

   rs.Close
Set rs = Nothing
   objConn.Close
Set objConn = Nothing

'så begynder det sjove
'opdeling af svar fra DB på flere virtuelle sider - som aktive
links på tal og << >>
'det virker hvis der ikke anvendes
&Request.Querystring("kategori")& fra linket - men ellers ikke -
WHY

Response.Write "<p>Gå til side:&nbsp; "

For intNum = 1 To intPageCount
'Response.Write "<a href=filnavn.asp?page=" & intNum & ">" &
intNum & "</a> "
'Er ændret så den kan bruges som include fil på flere dokumenter
Response.Write "<a href="&request.ServerVariables("URL")&"?page="
& intNum & ">" & intNum & "</a> "
Next

Response.Write "<p>"

If Clng(intPage) > 1 Then
Response.Write "<a href="&request.ServerVariables("URL")&"?page="
& intPage -1 & ">&lt;&lt;</a> "

Else
Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;&nbsp;"
   
If Clng(intPage) < Clng(intPageCount) Then
Response.Write "<a href="&request.ServerVariables("URL")&"?page="
& intPage +1 & ">&gt;&gt;</a> "

Else
Response.Write "&gt;&gt;"
End If
%>

Håber på lidt hjælp.
Hilsen Allan

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Leif Neland (16-03-2009)
Kommentar
Fra : Leif Neland


Dato : 16-03-09 17:41

Allan Pedersen skrev:
> Havde først lavet fremvisning i et iframe, men vil så ændre dette
> til enten -1 modtag side eller på selve siden i et layer.
>
> Det hele kører fint - indtil jeg indsætter Request.Querystring.
>

>    
> If Clng(intPage) < Clng(intPageCount) Then
> Response.Write "<a href="&request.ServerVariables("URL")&"?page="
> & intPage +1 & ">&gt;&gt;</a> "
>

Det lyder som en simpel html-fejl...

Du kan ikke bare sætte flere ?'er efter hinanden.
Hvis URL er "side.asp?kat=1"
Så laver dit script "side.asp?kat=1?page=2"
Parametre skal adskilles af "&"
"side.asp?kat=1&page=2"

Så du må checkke om der er ? i din url, så skal du skrive &page, ellers
?page

Leif




Allan Pedersen (16-03-2009)
Kommentar
Fra : Allan Pedersen


Dato : 16-03-09 21:21

Leif Neland wrote in dk.edb.internet.webdesign.serverside.asp:
> Allan Pedersen skrev:
> > Havde først lavet fremvisning i et iframe, men vil så ændre dette
> > til enten -1 modtag side eller på selve siden i et layer.
> >
> > Det hele kører fint - indtil jeg indsætter Request.Querystring.
> >
>
> >    
> > If Clng(intPage) < Clng(intPageCount) Then
> > Response.Write "<a href="&request.ServerVariables("URL")&"?page="
> > & intPage +1 & ">>></a> "
> >
>
> Det lyder som en simpel html-fejl...
>
> Du kan ikke bare sætte flere ?'er efter hinanden.
> Hvis URL er "side.asp?kat=1"
> Så laver dit script "side.asp?kat=1?page=2"
> Parametre skal adskilles af "&"
> "side.asp?kat=1&page=2"
>
> Så du må checkke om der er ? i din url, så skal du skrive &page, ellers
> ?page
>
> Leif
>
>
>
1000 tak for dit bud på det - meen,
som jeg skrev i starten - og har lige tjekket en ekstra gang - så ser min
href ud som du skriver -
<a href='side.asp?kategori=1&overskrift=Nyhed'>Første url</a>

Når jeg så - enten skriver til siden selv ELLER til en ekstern fil, ja så
er det at fejlen indfinder sig. Men kun når der er indskrevet en [
kategori='" &Request.Querystring("kategori")&"' ] ind i min sql . Ellers
kører den perfekt - men til en side for hver kategori!

Det ville jeg så forfærdelig gerne have til at lykkes, uden at skulle have
en seperat side for hver kategori, som nu...

Jeg kan ikke se, hvor det er jeg stirrer mig blind, eller måske bruger en
forkert metode???

mvh
Allan

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Leif Neland (17-03-2009)
Kommentar
Fra : Leif Neland


Dato : 17-03-09 01:02

Allan Pedersen skrev:
> Leif Neland wrote in dk.edb.internet.webdesign.serverside.asp:
>> Allan Pedersen skrev:
>>> Havde først lavet fremvisning i et iframe, men vil så ændre dette
>>> til enten -1 modtag side eller på selve siden i et layer.
>>>
>>> Det hele kører fint - indtil jeg indsætter Request.Querystring.
>>>
>>
>>>    
>>> If Clng(intPage) < Clng(intPageCount) Then
>>> Response.Write "<a href="&request.ServerVariables("URL")&"?page="
>>> & intPage +1 & ">>></a> "
>>>
>>
>> Det lyder som en simpel html-fejl...
>>
>> Du kan ikke bare sætte flere ?'er efter hinanden.
>> Hvis URL er "side.asp?kat=1"
>> Så laver dit script "side.asp?kat=1?page=2"
>> Parametre skal adskilles af "&"
>> "side.asp?kat=1&page=2"
>>
>> Så du må checkke om der er ? i din url, så skal du skrive &page, ellers
>> ?page
>>
>> Leif
>>
>>
>>
> 1000 tak for dit bud på det - meen,
> som jeg skrev i starten - og har lige tjekket en ekstra gang - så ser min
> href ud som du skriver -
> <a href='side.asp?kategori=1&overskrift=Nyhed'>Første url</a>
>
> Når jeg så - enten skriver til siden selv ELLER til en ekstern fil, ja så
> er det at fejlen indfinder sig. Men kun når der er indskrevet en [
> kategori='" &Request.Querystring("kategori")&"' ] ind i min sql . Ellers
> kører den perfekt - men til en side for hver kategori!
>
> Det ville jeg så forfærdelig gerne have til at lykkes, uden at skulle have
> en seperat side for hver kategori, som nu...
>
> Jeg kan ikke se, hvor det er jeg stirrer mig blind, eller måske bruger en
> forkert metode???
>

Du stirrer dig blind her.

response.write "<a href="&request.ServerVariables("URL")&"?page="

request.ServerVariables("URL") = "side.asp" UDEN parametre.

Så din linie bliver til <a href=side.asp?page=2>>></a>

(For at være valid html skal der stå
<a href="side.asp?page=2">&gt;&gt;</a>
men de fleste browsere vil tilgive den fejl)

Parametrene ligger i request.querystring.

response.write "<a href="""&request.ServerVariables("URL") & "&amp;" &
request.querystring & "&amp;page=" & intPage + 1 & """>&gt;&gt;</a>"

Her har jeg lavet valid html: quotes om værdier. ("" i en streng
udskrives som ")
& skal skrives som &amp;
> skal skrives som &gt; (måske ikke nødvendigt, men < giver
ihvertfald fejl, og skal skrives som &lt; så man kan ligesågodt være
konsekvent)

Så for at omformulere fra mit første indlæg:
En url består af side og eventuelle parametre.
request.servervariables("URL") & "?" & request.querystring

De enkelte parametre adskilles af "&"

Hvis du bare sætter "?page=" efter request.querystring, får du to
spørgsmålstegn, og det går virkelig ikke
Faktisk betyder "side.asp?kategori=1?side=2" at kategori har værdien
"1?side=2", og så siger din sql sikkert Klonk! Syntax error!

Din generelle pager-rutine må tage sige:
if request.querystring<>"" then
pageurl=request.servervariables("URL") & "?page="
else
pageurl=request.servervariables("URL") & "?" & request.querystring &
"&page="
end if

Leif

Søg
Reklame
Statistik
Spørgsmål : 177425
Tips : 31962
Nyheder : 719565
Indlæg : 6407917
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste