Just nu i M3-nätverket
Gå till innehåll

paging problem


Siluett

Rekommendera Poster

hej

 

jag vill ha paging i mitt bildgalleri, men problemet jag har nu är att alla bilder visas, och flera gånger om... är det någon som kan hjälpa mig att titta på min kod?

 

[MÄRK]<%[/MÄRK]

InlaggPerSida = 7                                  [color="#006400"]' Antal bilder per sida[/color]

[color="#0000ff"]Function[/color] FixDigits(Value,Digits)
    FixDigits = [color="#0000ff"]Space[/color](Digits) & Value
    FixDigits = [color="#0000ff"]Right[/color](FixDigits,Digits)
    FixDigits = [color="#0000ff"]Replace[/color](FixDigits,[GRÅ]" "[/GRÅ],[GRÅ]"0"[/GRÅ])
[color="#0000ff"]End[/color] Function%>

<%Set Conn = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ]) 
Conn.Open [GRÅ]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="[/GRÅ] & [b]Server[/b].MapPath([GRÅ]"db/galleri.mdb"[/GRÅ])

[color="#0000ff"]Set[/color] Recset = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ])

Sidan = [b]Request[/b].QueryString([GRÅ]"next"[/GRÅ])
[color="#0000ff"]If[/color] Sidan = [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] 
    sida = 1 
[color="#0000ff"]Else[/color] 
    sida = Sidan 
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color] 

[color="#0000ff"]With[/color] RecSet
    .CursorLocation = 3
    .CacheSize = InlaggPerSida
[color="#0000ff"]End[/color] [color="#0000ff"]With[/color]

SQL = [GRÅ]"Select * From galleri Order By datum desc"[/GRÅ]
RecSet.Open SQL, Conn

[color="#0000ff"]With[/color] RecSet
     .MoveFirst 
     .PageSize = InlaggPerSida
     .AbsolutePage = sida
[color="#0000ff"]End[/color] [color="#0000ff"]With[/color]

Sidor =  RecSet.PageCount
[color="#0000ff"]If[/color] Sidor > 1 Then%>


<%End [color="#0000ff"]If[/color]
X = 0
[color="#0000ff"]Do[/color] [color="#0000ff"]While[/color] [color="#0000ff"]Not[/color] RecSet.EOF [color="#0000ff"]And[/color] X < RecSet.PageSize



[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"askar8veckor"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'askar8veckor' Order by datum desc"[/GRÅ]) 

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Varen2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Varen2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Sommaren2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Sommaren2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"augusti2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'augusti2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"hosten2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'hosten2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"uppsalaokt03"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'uppsalaokt03' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Sthlmdec2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Sthlmdec2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Soderfors04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Soderfors04' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Vasteras04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Vasteras04' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Sthlm0404"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Sthlm0404' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Norge04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Norge04' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"skindividual"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'skindividual' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"uppsalajuni04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'uppsalajuni04' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"imse"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'imse' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"imse2"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'imse2' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"askar04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'askar04' Order by datum desc"[/GRÅ])

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]Do[/color] Until RecSet.EOF [MÄRK]%>[/MÄRK]

[MÄRK]<%[/MÄRK] [color="#0000ff"]If[/color] [color="#0000ff"]Trim[/color](RecSet([GRÅ]"bild"[/GRÅ])) <> [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] [MÄRK]%>[/MÄRK]
<img src=[GRÅ]"<% =Trim(RecSet("[/GRÅ]bild[GRÅ]")) %>"[/GRÅ] border=[GRÅ]"1"[/GRÅ]>
[MÄRK]<%[/MÄRK] [color="#0000ff"]End[/color] [color="#0000ff"]If[/color] [MÄRK]%>[/MÄRK]

[MÄRK]<%[/MÄRK] RecSet.MoveNext
[color="#0000ff"]Loop[/color]
RecSet.Close
[MÄRK]%>[/MÄRK]

[MÄRK]<%[/MÄRK]
RecSet.Open SQL, Conn
X = X+ 1 
Recset.MoveNext
[color="#0000ff"]Loop[/color]
[color="#0000ff"]If[/color] Sidor > 1 Then%>

     <%For Sid = 1 [color="#0000ff"]To[/color] Sidor
         [color="#0000ff"]If[/color] (Int(Sid)) = (Int(sida)) Then%><b>[MÄRK]<%[/MÄRK]=FixDigits(Sid,2)[MÄRK]%>[/MÄRK]</b><%Else%> <a href=[GRÅ]"bilder.asp?next=<%=Sid%>"[/GRÅ]>[MÄRK]<%[/MÄRK]=FixDigits(Sid,2)[MÄRK]%>[/MÄRK]</a> <%End [color="#0000ff"]If[/color]
     Next%>

<%End [color="#0000ff"]If[/color]
Recset.Close
[color="#0000ff"]Set[/color] Recset = [color="#0000ff"]Nothing[/color]
Conn.Close
[color="#0000ff"]Set[/color] Conn=Nothing%>

 

Länk till kommentar
Dela på andra webbplatser

m a r c u s

Såg lite fel, tror jag...

 

 

[inlägget ändrat 2005-04-11 22:29:34 av m a r c u s]

Länk till kommentar
Dela på andra webbplatser

om jag tar bort och skriver:

 

<%

 

InlaggPerSida = 7 ' Antal bilder per sida

 

Function FixDigits(Value,Digits)

FixDigits = Space(Digits) & Value

FixDigits = Right(FixDigits,Digits)

FixDigits = Replace(FixDigits," ","0")

End Function%>

 

<%Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/galleri.mdb")

 

Set Recset = Server.CreateObject("ADODB.Recordset")

 

Sidan = Request.QueryString("next")

If Sidan = "" then

sida = 1

Else

sida = Sidan

End If

 

With RecSet

.CursorLocation = 3

.CacheSize = InlaggPerSida

End With

 

SQL = "Select * From galleri Order By datum desc"

RecSet.Open SQL, Conn

 

With RecSet

.MoveFirst

.PageSize = InlaggPerSida

.AbsolutePage = sida

End With

 

Sidor = RecSet.PageCount

If Sidor > 1 Then%>

 

 

<%End If

X = 0

Do While Not RecSet.EOF And X < RecSet.PageSize

 

 

 

If Request.QueryString("namn") = "askar8veckor" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'askar8veckor' Order by datum desc")

 

Elseif Request.QueryString("namn") = "Varen2003" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'Varen2003' Order by datum desc")

 

Elseif Request.QueryString("namn") = "Sommaren2003" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'Sommaren2003' Order by datum desc")

 

Elseif Request.QueryString("namn") = "augusti2003" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'augusti2003' Order by datum desc")

 

Elseif Request.QueryString("namn") = "hosten2003" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'hosten2003' Order by datum desc")

 

Elseif Request.QueryString("namn") = "uppsalaokt03" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'uppsalaokt03' Order by datum desc")

 

Elseif Request.QueryString("namn") = "Sthlmdec2003" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'Sthlmdec2003' Order by datum desc")

 

Elseif Request.QueryString("namn") = "Soderfors04" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'Soderfors04' Order by datum desc")

 

Elseif Request.QueryString("namn") = "Vasteras04" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'Vasteras04' Order by datum desc")

 

Elseif Request.QueryString("namn") = "Sthlm0404" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'Sthlm0404' Order by datum desc")

 

Elseif Request.QueryString("namn") = "Norge04" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'Norge04' Order by datum desc")

 

Elseif Request.QueryString("namn") = "skindividual" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'skindividual' Order by datum desc")

 

Elseif Request.QueryString("namn") = "uppsalajuni04" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'uppsalajuni04' Order by datum desc")

 

Elseif Request.QueryString("namn") = "imse" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'imse' Order by datum desc")

 

Elseif Request.QueryString("namn") = "imse2" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'imse2' Order by datum desc")

 

Elseif Request.QueryString("namn") = "askar04" Then

Set RecSet=Conn.Execute("Select * From galleri Where namn = 'askar04' Order by datum desc")

 

End If

 

Do Until RecSet.EOF %>

 

<% If Trim(RecSet("bild")) <> "" Then %>

<img src="<% =Trim(RecSet("bild")) %>" border="1">

<% End If %>

 

 

 

<%X = X+ 1

Recset.MoveNext

Loop

If Sidor > 1 Then%>

 

<%For Sid = 1 To Sidor

If (Int(Sid)) = (Int(sida)) Then%><b><%=FixDigits(Sid,2)%></b><%Else%> <a href="bilder.asp?next=<%=Sid%>"><%=FixDigits(Sid,2)%></a> <%End If

Next%>

 

<%End If

Recset.Close

Set Recset = Nothing

Conn.Close

Set Conn=Nothing%>

 

 

 

så visas inte sidan alls....

 

Länk till kommentar
Dela på andra webbplatser

m a r c u s

Vill du visa alla eller bara en del, typ Norge04?

 

Om du bara vill visa en del av galleriet förstår jag inte vad du vill med

SQL = [GRÅ]"Select * From galleri Order By datum desc"[/GRÅ]
RecSet.Open SQL, Conn

 

Länk till kommentar
Dela på andra webbplatser

Jag får fortfarande inte rätt på det här, är det nogån som kan tipsa mig.

felet operation is not allowed when the object is closed ges på den röda raden. och nu tog jag ändå bort RecSet.Close under den gröna raden.

 

[MÄRK]<%[/MÄRK]

InlaggPerSida = 7                                  [color="#006400"]' Antal bilder per sida[/color]

[color="#0000ff"]Function[/color] FixDigits(Value,Digits)
    FixDigits = [color="#0000ff"]Space[/color](Digits) & Value
    FixDigits = [color="#0000ff"]Right[/color](FixDigits,Digits)
    FixDigits = [color="#0000ff"]Replace[/color](FixDigits,[GRÅ]" "[/GRÅ],[GRÅ]"0"[/GRÅ])
[color="#0000ff"]End[/color] Function%>

<%Set Conn = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ]) 
Conn.Open [GRÅ]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="[/GRÅ] & [b]Server[/b].MapPath([GRÅ]"db/galleri.mdb"[/GRÅ])


[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"askar8veckor"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'askar8veckor' Order by datum desc"[/GRÅ]) 

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Varen2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Varen2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Sommaren2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Sommaren2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"augusti2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'augusti2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"hosten2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'hosten2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"uppsalaokt03"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'uppsalaokt03' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Sthlmdec2003"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Sthlmdec2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Soderfors04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Soderfors04' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Vasteras04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Vasteras04' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Sthlm0404"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Sthlm0404' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Norge04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Norge04' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"skindividual"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'skindividual' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"uppsalajuni04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'uppsalajuni04' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"imse"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'imse' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"imse2"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'imse2' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"askar04"[/GRÅ] [color="#0000ff"]Then[/color] 
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'askar04' Order by datum desc"[/GRÅ])

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]Do[/color] Until RecSet.EOF [MÄRK]%>[/MÄRK]

[MÄRK]<%[/MÄRK] [color="#0000ff"]If[/color] [color="#0000ff"]Trim[/color](RecSet([GRÅ]"bild"[/GRÅ])) <> [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] [MÄRK]%>[/MÄRK]
<img src=[GRÅ]"<% =Trim(RecSet("[/GRÅ]bild[GRÅ]")) %>"[/GRÅ] border=[GRÅ]"1"[/GRÅ]>
[MÄRK]<%[/MÄRK] [color="#0000ff"]End[/color] [color="#0000ff"]If[/color] [MÄRK]%>[/MÄRK]

<%RecSet.MoveNext 
[color="#006400"][color="#0000ff"]Loop[/color][/color]
[MÄRK]%>[/MÄRK]


<%Set RS = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ])


Sidan = [b]Request[/b].QueryString([GRÅ]"next"[/GRÅ])
[color="#0000ff"]If[/color] Sidan = [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] 
    sida = 1 
[color="#0000ff"]Else[/color] 
    sida = Sidan 
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color] 

[color="#0000ff"]With[/color] RS
    .CursorLocation = 3
    .CacheSize = InlaggPerSida
[color="#0000ff"]End[/color] [color="#0000ff"]With[/color]

[color="#0000ff"]With[/color] RS
    [color="#ff0000"] .MoveFirst [/color]
     .PageSize = InlaggPerSida
     .AbsolutePage = sida
[color="#0000ff"]End[/color] [color="#0000ff"]With[/color]

Sidor =  RS.PageCount
[color="#0000ff"]If[/color] Sidor > 1 Then%>


[MÄRK]<%[/MÄRK]
X = 0
[color="#0000ff"]Do[/color] [color="#0000ff"]While[/color] [color="#0000ff"]Not[/color] RS.EOF [color="#0000ff"]And[/color] X < RS.PageSize



X = X+ 1 
RS.MoveNext
[color="#0000ff"]Loop[/color]
[color="#0000ff"]If[/color] Sidor > 1 Then%>

     <%For Sid = 1 [color="#0000ff"]To[/color] Sidor
         [color="#0000ff"]If[/color] (Int(Sid)) = (Int(sida)) Then%><b>[MÄRK]<%[/MÄRK]=FixDigits(Sid,2)[MÄRK]%>[/MÄRK]</b><%Else%> <a href=[GRÅ]"bilder.asp?next=<%=Sid%>"[/GRÅ]>[MÄRK]<%[/MÄRK]=FixDigits(Sid,2)[MÄRK]%>[/MÄRK]</a> <%End [color="#0000ff"]If[/color]
     Next%>

<%End [color="#0000ff"]If[/color]
RS.Close
[color="#0000ff"]Set[/color] RS = [color="#0000ff"]Nothing[/color]
[color="#0000ff"]Set[/color] Conn=[color="#0000ff"]Nothing[/color]
Conn.Close
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[MÄRK]%>[/MÄRK]

 

[inlägget ändrat 2005-04-14 20:36:53 av Siluett]

Länk till kommentar
Dela på andra webbplatser

varför kan den inte färga texten grön....

 

ja, iaf så skrev jag

<%RecSet.MoveNext

Loop

%>

 

istället för

 

<%RecSet.MoveNext

Loop

RecSet.Close

%>

 

där några rader ovanför det rödmarkerade...

 

Länk till kommentar
Dela på andra webbplatser

Bellfalasch

Detta är egentligen helt obetydligt men efter att ha sett din kod så skulle jag gärna vilja ändra en grej. Och det är att slippa alla dessa upprepningar med:

 

[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"askar8veckor"[/GRÅ] [color="#0000ff"]Then[/color]
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'askar8veckor' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Varen2003"[/GRÅ] [color="#0000ff"]Then[/color]
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Varen2003' Order by datum desc"[/GRÅ])

[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ]) = [GRÅ]"Sommaren2003"[/GRÅ] [color="#0000ff"]Then[/color]
[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = 'Sommaren2003' Order by datum desc"[/GRÅ])

[color="#006400"]' OSV[/color]

 

Istället gör du om det hela till en Select Case (för man ska alltid kontrollera indata innan man kör det till databasen så din idé är helt korrekt).

 

[color="#0000ff"]Select[/color] [color="#0000ff"]Case[/color] [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ])
  [color="#0000ff"]Case[/color] [GRÅ]"askar8veckor"[/GRÅ] sql_namn = [GRÅ]"askar8veckor"[/GRÅ]
  [color="#0000ff"]Case[/color] [GRÅ]"Varen2003"[/GRÅ] sql_namn = [GRÅ]"Varen2003"[/GRÅ]
  [color="#0000ff"]Case[/color] [GRÅ]"Sommaren2003"[/GRÅ] sql_namn = [GRÅ]"Sommaren2003"[/GRÅ]
  [color="#006400"]' All annan kod ....[/color]
[color="#0000ff"]End[/color] [color="#0000ff"]Select[/color]

[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri Where namn = '"[/GRÅ] & sql_namn & [GRÅ]"' Order by datum desc"[/GRÅ])

 

Sådär, nu har du mindre kod, snyggare kod och färre upprepningar =)

 

Länk till kommentar
Dela på andra webbplatser

Håller med Bellfalash - skippa upprepningarna.

Jag hade dock löst det lite annorlunda...

 

sKolumn = [b]Request[/b].QueryString([GRÅ]"namn"[/GRÅ])

 

sen hade jag använt en funktion som tagit bort alla otillåtna tecken som fnuttar, dubbelfnuttar, procent osv..kallar den funktionen DbSecureText..

 

sKolumn = DbSecureText(sKolumn) 

 

Och sen hade jag gjort en enkel ifsats:

sWhere =[GRÅ]""[/GRÅ]
[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] sKolumn=[GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color]
  sWhere = [GRÅ]" where namn = '"[/GRÅ]&sKolumn&[GRÅ]"'"[/GRÅ]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]Set[/color] RecSet=Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Select * From galleri "[/GRÅ]&sWhere&[GRÅ]" Order by datum desc"[/GRÅ])

 

Länk till kommentar
Dela på andra webbplatser

tack för tipset, nu ser det ju mycket snyggare ut :-)

 

jag fick det till slut att fungera, rätt antal bilder visades och sidnummer längst ner på sidan. men däremot så visades inga bilder när man klickade vidare till sida 2 osv. varför? jag antar att det är fel på länken som ska dirigera till nästa fem bilder? men vet inte hur den ska se ut... jag hade mixtrat lite och sen blev det inte bra så jag gjorde om som det var från början, men nu visas INGENTING! varför det nu då? *grr*

 

kod:

 

<%

InlaggPerSida = 5

db = Server.MapPath("db/galleri.mdb")

 

Function Fixa(str)

Fixa = Replace(Trim(str),"'","''")

End function

 

Function FixDigits(Value,Digits)

FixDigits = Space(Digits) & Value

FixDigits = Right(FixDigits,Digits)

FixDigits = Replace(FixDigits," ","0")

End Function%>

 

 

 

<%Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db

 

Set Recset = Server.CreateObject("ADODB.Recordset")

 

Sidan = Request.QueryString("next")

If Sidan = "" then

sida = 1

Else

sida = Sidan

End If

 

With RecSet

.CursorLocation = 3

.CacheSize = InlaggPerSida

End With

 

Select Case Request.QueryString("namn")

Case "askar8veckor" sql_namn = "askar8veckor"

Case "Varen2003" sql_namn = "Varen2003"

Case "Sommaren2003" sql_namn = "Sommaren2003"

Case "augusti2003" sql_namn = "augusti2003"

Case "hosten2003" sql_namn = "hosten2003"

Case "uppsalaokt03" sql_namn = "uppsalaokt03"

Case "Sthlmdec2003" sql_namn = "Sthlmdec2003"

Case "Soderfors04" sql_namn = "Soderfors04"

Case "Vasteras04" sql_namn = "Vasteras04"

Case "Sthlm0404" sql_namn = "Sthlm0404"

Case "Norge04" sql_namn = "Norge04"

Case "skindividual" sql_namn = "skindividual"

Case "uppsalajuni04" sql_namn = "uppsalajuni04"

Case "imse" sql_namn = "imse"

Case "imse2" sql_namn = "imse2"

Case "askar04" sql_namn = "askar04"

End Select

 

SQL = "Select * From galleri Where namn = '" & sql_namn & "' Order by datum desc"

RecSet.Open SQL, Conn

Do Until RecSet.EOF

 

RecSet.MoveNext

Loop

 

If Not RecSet.EOF Then

With RecSet

.MoveFirst

.PageSize = InlaggPerSida

.AbsolutePage = sida

End With

 

Sidor = RecSet.PageCount

If Sidor > 1 Then

 

End If

X = 0

Do While Not RecSet.EOF And X < RecSet.PageSize%>

 

 

<% If Trim(RecSet("bild")) <> "" Then %>

<img src="<% =Trim(RecSet("bild")) %>" border="1">

<% End If %>

 

 

<%X = X+ 1

Recset.MoveNext

Loop

If Sidor > 1 Then%>

 

 

<%For Sid = 1 To Sidor

If (Int(Sid)) = (Int(sida)) Then%><b><%=FixDigits(Sid,2)%></b><%Else%> <a href="bilder.asp?next=<%=Sid%>"><%=FixDigits(Sid,2)%></a> <%End If

Next%>

 

 

<%

End If

End If

Recset.Close

Set Recset = Nothing

Conn.Close

Set Conn=Nothing%>

 

Länk till kommentar
Dela på andra webbplatser

Bellfalasch

 RecSet.Open SQL, Conn
[color="#0000ff"]Do[/color] Until RecSet.EOF

RecSet.MoveNext
[color="#0000ff"]Loop[/color]

[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] RecSet.EOF [color="#0000ff"]Then[/color] 

 

Det sista, if not EOF, är alltid falskt. Du har precis innan loopat igenom hela recordset:et utan att göra något.

 

Så kommentera bort rad 2 3 och 4 i mitt citat:

 RecSet.Open SQL, Conn
[color="#006400"]'Do Until RecSet.EOF[/color]

[color="#006400"]'RecSet.MoveNext[/color]
[color="#006400"]'Loop[/color]

[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] RecSet.EOF [color="#0000ff"]Then[/color] 

 

Det finns även lite annat att rensa, som if-satsen i slutet av citatet. Det räcker med "Do Until RecSet.EOF eftersom den avbryter då EOF är sant.

 

Länk till kommentar
Dela på andra webbplatser

Tack det fungerade! :)

 

Men det fungerar fortfarande inte att klicka sig vidare och se flera sidor...

 

se http://www.pernillas.nu/cat/bilder.asp?namn=askar04 tex...

 

antar att det är fel på

If (Int(Sid)) = (Int(sida)) Then%><b><%=FixDigits(Sid,2)%></b><%Else%> <a href="bilder.asp?next=<%=Sid%>"><%=FixDigits(Sid,2)%></a>

 

men hur ska det se ut där?

 

Länk till kommentar
Dela på andra webbplatser

Bellfalasch

[color="#0000ff"]For[/color] Sid = 1 [color="#0000ff"]To[/color] Sidor

  [color="#0000ff"]If[/color] Int(Sid) = Int(sida) [color="#0000ff"]Then[/color]
[MÄRK]%>[/MÄRK]

<b>[MÄRK]<%[/MÄRK]= FixDigits(Sid,2) [MÄRK]%>[/MÄRK]</b>

[MÄRK]<%[/MÄRK] [color="#0000ff"]Else[/color] [MÄRK]%>[/MÄRK]

<a href=[GRÅ]"bilder.asp?next=<%= Sid %>"[/GRÅ]>
[MÄRK]<%[/MÄRK]= FixDigits(Sid,2) [MÄRK]%>[/MÄRK]</a>

[MÄRK]<%[/MÄRK]
  [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[color="#0000ff"]Next[/color]
[MÄRK]%>[/MÄRK]

 

Allt ser bra ut där faktiskt. Grejen jag reagerade på var att när man gick till en annan sida än den första så visades inte ens själva sid-menyn. Alltså är det nåt knas rätt tidigt, alltså med att vi nått EOF.

 

Tyvärr har jag inte jobbat med Access och såna bokmärken på flera år men det måste vara där felet ligger.

 

Sen en grej. Efter at ha plockat in QueryStringen "next" och lagt i sida så kolla:

if not IsNumeric(sida) then sida = 1 end if

Annars kan nån skriva in t.ex. "DROP TABLE" i ditt adressfält och då blir det tråkigt.

 

Länk till kommentar
Dela på andra webbplatser

ghaa! oj, det visste jag inte att man kunde!

 

hm, skrev jag rätt nu då?

 

<%For Sid = 1 To Sidor

If (Int(Sid)) = (Int(sida)) Then%><b><%=FixDigits(Sid,2)%></b><%Else%> <a href="bilder.asp?next=<%=Sid%>"><%=FixDigits(Sid,2)%></a> <%End If

Next

If Not IsNumeric(sida) then sida = 1

End If%>

 

 

kan man lägga in det i alla sina aspsidor som har databaser? det vore ju onekligen bra att ha...

 

Länk till kommentar
Dela på andra webbplatser

Bellfalasch

Nja lite långt ner. Skriv det precis efter denna kodsnutt:

 

Sidan = [b]Request[/b].QueryString([GRÅ]"next"[/GRÅ])
[color="#0000ff"]If[/color] Sidan = [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color]
  sida = 1
[color="#0000ff"]Else[/color]
  sida = Sidan
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

 

Iofs kanske det inte är nån fara med DROP TABLE eftersom du använder bokmärken. Om du däremot använt variabeln sida i SQL-strängen så hade faran varit där. Så det skadar aldrig att vara extra vaksam.

 

Länk till kommentar
Dela på andra webbplatser

Ja nu la jag i den precis där under

 

Sidan = Request.QueryString("next")

If Sidan = "" then

sida = 1

Else

sida = Sidan

End If

 

If Not IsNumeric(sida) Then sida = 1

End If

 

 

 

resultatet blir att sidan inte visas alls, HTTP500-sida.....

 

vad ska vi hitta på nu?

 

Länk till kommentar
Dela på andra webbplatser

Bellfalasch

Endast en rad ska det stå på, eller tre rader, alltså:

 

[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] [color="#0000ff"]IsNumeric[/color](sida) [color="#0000ff"]Then[/color] sida = 1 [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

 

eller

 

[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] [color="#0000ff"]IsNumeric[/color](sida) [color="#0000ff"]Then[/color]
  sida = 1
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

 

Efter det ska det funka fint.

 

Länk till kommentar
Dela på andra webbplatser

Nej, det vill inte funka fint.....

 

fortfarande error sida...

 

<%

InlaggPerSida = 5

db = Server.MapPath("db/galleri.mdb")

 

Function Fixa(str)

Fixa = Replace(Trim(str),"'","''")

End function

 

Function FixDigits(Value,Digits)

FixDigits = Space(Digits) & Value

FixDigits = Right(FixDigits,Digits)

FixDigits = Replace(FixDigits," ","0")

End Function%>

 

 

 

<%Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db

 

Set Recset = Server.CreateObject("ADODB.Recordset")

 

Sidan = Request.QueryString("next")

If Sidan = "" then

sida = 1

Else

sida = Sidan

End If

 

If Not IsNumeric(sida) Then sida = 1 End If

 

With RecSet

.CursorLocation = 3

.CacheSize = InlaggPerSida

End With

 

Select Case Request.QueryString("namn")

Case "askar8veckor" sql_namn = "askar8veckor"

Case "Varen2003" sql_namn = "Varen2003"

Case "Sommaren2003" sql_namn = "Sommaren2003"

Case "augusti2003" sql_namn = "augusti2003"

Case "hosten2003" sql_namn = "hosten2003"

Case "uppsalaokt03" sql_namn = "uppsalaokt03"

Case "Sthlmdec2003" sql_namn = "Sthlmdec2003"

Case "Soderfors04" sql_namn = "Soderfors04"

Case "Vasteras04" sql_namn = "Vasteras04"

Case "Sthlm0404" sql_namn = "Sthlm0404"

Case "Norge04" sql_namn = "Norge04"

Case "skindividual" sql_namn = "skindividual"

Case "uppsalajuni04" sql_namn = "uppsalajuni04"

Case "imse" sql_namn = "imse"

Case "imse2" sql_namn = "imse2"

Case "askar04" sql_namn = "askar04"

End Select

 

SQL = "Select * From galleri Where namn = '" & sql_namn & "' Order by datum desc"

RecSet.Open SQL, Conn

 

 

If Not RecSet.EOF Then

With RecSet

.MoveFirst

.PageSize = InlaggPerSida

.AbsolutePage = sida

End With

 

Sidor = RecSet.PageCount

If Sidor > 1 Then

 

End If

X = 0

Do While Not RecSet.EOF And X < RecSet.PageSize%>

 

 

<% If Trim(RecSet("bild")) <> "" Then %>

<img src="<% =Trim(RecSet("bild")) %>" border="1">

<% End If %>

 

 

<%X = X+ 1

Recset.MoveNext

Loop

If Sidor > 1 Then%>

 

 

<%For Sid = 1 To Sidor

If (Int(Sid)) = (Int(sida)) Then%><b><%=FixDigits(Sid,2)%></b><%Else%> <a href="bilder.asp?next=<%=Sid%>"><%=FixDigits(Sid,2)%></a> <%End If

Next

%>

 

 

<%

 

End If

Recset.Close

Set Recset = Nothing

Conn.Close

Set Conn=Nothing%>

 

Länk till kommentar
Dela på andra webbplatser

Bellfalasch

Kan testa med att slänga in en End If precis innan det sista End If:et på sidan. För där låg ett förut.

 

Jag antar att du kör Internet Explorer eftersom du fick ett 500-fel medan jag får ett felmeddelande där det står att "End" saknas på rad 166. För att slå på dessa meddelanden så ska du i inställningar på avancerat klicka ur valet att visa egna felmeddelanden, finns rätt långt ner i listan.

 

Länk till kommentar
Dela på andra webbplatser

Ja nu gick det ju. tyckte jag suttit o provat fram o tillbaka o kollat på sparade filer...

jaja, iaf så fungerar det annars att det säger vilken rad och vad som är fel, men det här kanske var något annat fel?

 

Ingen annan som har ngt tips ang att man inte kan se de andra sidorna?

 

Länk till kommentar
Dela på andra webbplatser

Har du kollat så att du har värden med dig runt när du vill kolla på nästa sida?

Sätt en defaultsats under dina Case

...

[color="#0000ff"]Case[/color] [GRÅ]"imse2"[/GRÅ] sql_namn = [GRÅ]"imse2"[/GRÅ] 
[color="#0000ff"]Case[/color] [GRÅ]"askar04"[/GRÅ] sql_namn = [GRÅ]"askar04"[/GRÅ] 
[color="#0000ff"][bLÅ]Case[/color] [color="#0000ff"]Else[/color] sql_namn=[GRÅ]""[/GRÅ][/bLÅ] 
[color="#0000ff"]End[/color] [color="#0000ff"]Select[/color] 

 

skriv sen ut din Sqlsats innan du kör den - har den korrekta värden?

Som det är idag - om din sqlsats har felaktiga värdenså kommer du få fel när du kör den. Om du tittar på mitt förslag i mitt tidigare inlägg, så bygger du upp wheresatsen separat och även om den skulle vara tom så kan din sqlsats köras utan fel.

 

 

Länk till kommentar
Dela på andra webbplatser

Bellfalasch

Ja just ja, du har ju missat att ta med dig vilken kategori av bilder du vill se i sidlänkarna:

 

<a href="bilder.asp?next=<%=Sid%>">

 

Det ska vara:

 

<a href="bilder.asp?next=<%= Sid %>&amp;namn=<%= sql_namn %>">

 

Jag provkörde din sida genom att lägga in det som fattades i adressfältet och då funkade det perfekt. Bevis:

http://www.pernillas.nu/cat/bilder.asp?namn=askar04&next=3

 

[inlägget ändrat 2005-04-19 16:01:21 av Bellfalasch]

Länk till kommentar
Dela på andra webbplatser

aha, å det är SÅ man ska skriva! :-) jag lyckade sinte prova mig fram till det resultatet.

 

tack för hjälper alla ni!!!

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...