---
title: "Sista posten ska visa annorluna bild"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/123566-sista-posten-ska-visa-annorluna-bild"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "wunderbaren"
published: "2005-03-02T11:10:09.000Z"
updated: "2005-03-07T14:07:12.000Z"
replies: 60
views: 1262
page: 1
pages: 4
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/123566-sista-posten-ska-visa-annorluna-bild"
---

# Sista posten ska visa annorluna bild

_Sida 1 av 4._

## #1 — wunderbaren, 2005-03-02T11:10Z

Hejsan!

Nedan visar en kod som postar poster ur databasen, men hur gör man så att den sista posten ska visa annorlunda bild? Det är mest ett filnamn jag vill ändra, från "files/icon_lines.gif" till files/icon_lines2.gif.

> \<%
> 
> Set RecSet=Conn.Execute("Select \* From galleri Where sort='" & Request.Querystring("kat") & "' Order By namn")
> 
> If RecSet.EOF Then%\>
> Inga kategorier inlagda i kategorin \<%=Request.Querystring("kat")%\>.
> \<%Else
> Do Until RecSet.EOF
> Set RS=Conn.Execute("Select \* From galleri Where namn='" & RecSet("namn") & "'")
> Set ReS=Conn.Execute("Select Top 1 \* From bilder Where namn='" & RecSet("namn") & "' Order By datum desc")
> Set Bilder=Conn.Execute("Select Count(\*) As antal From bilder Where namn='" & RecSet("namn") & "'")
> 
> If ReS.EOF Then
> 
> %\>
> \<img border="0" src="files/icon_lines_empty.gif" width="17" height="20" align="absmiddle"\>\<img border="0" src="files/icon_lines.gif" width="17" height="20" align="absmiddle"\>\<img border="0" src="files/icon_folder.gif" width="16" height="15" align="absmiddle"\>&nbsp;&nbsp;\<a href="./?page=galleri&kat=\<%= Request.QueryString("kat")%\>&id=\<%=RecSet("namn")%\>"\>\<%=RecSet("namn")%\>\</a\>\<br\>\<%End If
> RecSet.MoveNext
> Loop
> End If%\>

Permalänk: https://www.webforum.nu/p/123566

## #2 — Engine^, 2005-03-02T12:53Z

Antingen genom att loopa ut posterna med for ... next eller så använder du en räknare. I båda fallen kollar du räknaren om den är lika med RecSet.RecordCount och då byter du sökväg till bilden.

Permalänk: https://www.webforum.nu/p/1564600

## #3 — wunderbaren, 2005-03-02T12:55Z

Kan du visa kod? :)

Permalänk: https://www.webforum.nu/p/1564603

## #4 — Engine^, 2005-03-02T13:20Z

Jodå...

```
<%
intCounter = 0

While Not RecSet.EOF
  intCounter = intCounter + 1

  if(intCounter < RecSet.RecordCount) then
    strPath = "files/icon_lines.gif"
  else
    strPath = "files/icon_lines2.gif"
  end if
%>
...<img src="<%=strPath%>" border="0">...
<%

  RecSet.MoveNext
Wend
%>
```

Något åt det hållet kanske...

Permalänk: https://www.webforum.nu/p/1564614

## #5 — wunderbaren, 2005-03-02T13:34Z

Jag förstår inte riktigt hur man får in den i den nuvarande koden, kan du hjälpa mig? Kan du inte lägga in den i den koden som finns nu?

Permalänk: https://www.webforum.nu/p/1564627

## #6 — wunderbaren, 2005-03-02T14:53Z

Kan verkligen ingen hjälpa mig? :) Behöver bara hjälp att sätta ihop dom.

Permalänk: https://www.webforum.nu/p/1564674

## #7 — Engine^, 2005-03-02T17:57Z

Givetvis... ska genast klippa och klistra lite ;)

```
intCounter = 0

Set RecSet=Conn.Execute("Select * From galleri Where sort='" & Request.Querystring("kat") & "' Order By namn")

if(RecSet.EOF) then
  Response.Write "Inga kategorier inlagda i kategorin " & Request.QueryString("kat")
else
  While Not RecSet.EOF
    set objRS = Conn.Execute("SELECT * FROM galleri WHERE namn = '" & RecSet("namn") & "'")
    set objPicture = Conn.Execute("SELECT TOP 1 * FROM bilder WHERE namn = '" & RecSet("namn") & "' ORDER BY datum DESC")
    set objCount = Conn.Execute("SELECT COUNT(*) AS CountOfBilder FROM bilder WHERE namn = '" & RecSet("namn") & "'")
    
    intCounter = intCounter + 1

    if(intCounter < RecSet.RecordCount) then
      strPath = "files/icon_lines.gif"
    else
      strPath = "files/icon_lines2.gif"
    end if

    Response.Write "<img border=""0"" src=""files/icon_lines_empty.gif"" width=""17"" height=""20"" align=""absmiddle"">"
    Response.Write "<img border=""0"" src=""" & strPath & """ width=""17"" height=""20"" align=""absmiddle"">"
    Response.Write "<img border=""0"" src=""files/icon_folder.gif"" width=""16"" height=""15"" align=""absmiddle"">"
    Response.Write "<a href=""./?page=galleri&kat=" & Request.QueryString("kat") & "&id=" & RecSet("namn") & """>" % RecSet("namn") & "</a><br>"
    
    RecSet.MoveNext
  Wend
end if
```

Du kan ju börja med att testa om ovan fungerar.

Permalänk: https://www.webforum.nu/p/1564765

## #8 — wunderbaren, 2005-03-02T22:40Z

Nja, det fungerar på ett sätt. Alla poster får nu bilden som den sista posten ska ha.

Permalänk: https://www.webforum.nu/p/1564868

## #9 — J.N., 2005-03-03T09:37Z

HEJ!

Det borde bero på att du skapar recodsetet på fel sätt, då blir
intCounter=1 och RecSet.RecordCount=-1 dvs 1\<-1 dvs false vilket ger andra bilden.

Använd 
RecSet.Open sql, Conn, 1, 2
för att öppna rs:et korrekt.

\[R\]Ändrat till Conn\[/R\]

Permalänk: https://www.webforum.nu/p/1564946

## #10 — wunderbaren, 2005-03-03T13:51Z

Vart exakt ska man stoppa in den?

Permalänk: https://www.webforum.nu/p/1565149

## #11 — J.N., 2005-03-03T13:56Z

HEJ!

Där du använder RecSet, dvs rad två/tre.

Permalänk: https://www.webforum.nu/p/1565154

## #12 — wunderbaren, 2005-03-03T14:01Z

Får felmeddelande:

Microsoft VBScript runtime error '800a01a8' 

Object required: '' 

/webpages/bilder.asp, line 23 

Klistrade in det så här, fel eller?

intCounter = 0
RecSet.Open sql, dbconn, 1, 2
Set RecSet=Conn.Execute("Select \* From galleri Where sort='" & Request.Querystring("kat") & "' Order By namn")

Permalänk: https://www.webforum.nu/p/1565159

## #13 — J.N., 2005-03-03T14:03Z

HEJ!

Ja, det jag skickade ska ersätta det du använder, lägg själva sql-strängen i en variabel, och använd Conn som ditt databasobjekt heter istället.

Permalänk: https://www.webforum.nu/p/1565161

## #14 — wunderbaren, 2005-03-03T14:05Z

Hehe, jag förstår inte nåt av det du säger, jag lär mig fortfarande ASP. Kan du inte visa i koden?

Permalänk: https://www.webforum.nu/p/1565163

## #15 — J.N., 2005-03-03T14:10Z

HEJ!

> **J.N. skrev:**
>
> ...det jag skickade ska ersätta det du använder...

Ta bort
Set RecSet=Conn.Execute("Select \* From galleri Where sort='" & Request.Querystring("kat") & "' Order By namn")

> **J.N. skrev:**
>
> ...lägg själva sql-strängen i en variabel...

sql = "Select \* From galleri Where sort='" & Request.Querystring("kat") & "' Order By namn"

> **J.N. skrev:**
>
> ...använd Conn...

RecSet.Open sql, Conn, 1, 2

Detta resulterar i:
intCounter = 0
sql = "Select \* From galleri Where sort='" & Request.Querystring("kat") & "' Order By namn"
RecSet.Open sql, Conn, 1, 2

Permalänk: https://www.webforum.nu/p/1565166

## #16 — wunderbaren, 2005-03-03T14:14Z

Gjorde exakt som du sa, fick samma felmeddelande..hmm..

Den klagar på denna raden:
RecSet.Open sql, Conn, 1, 2

Koden ser nu ut så här:

sql = "Select \* From galleri Where sort='" & Request.Querystring("kat") & "' Order By namn"

intCounter = 0

RecSet.Open sql, Conn, 1, 2

Permalänk: https://www.webforum.nu/p/1565168

## #17 — @nders, 2005-03-03T14:15Z

Du måste skapa recordset-objektet först.

```
Set RecSet = Server.Createobject("ADODB.Recordset")
```

Mvh

Permalänk: https://www.webforum.nu/p/1565169

## #18 — wunderbaren, 2005-03-03T14:18Z

okej, nu fick jag inga felmeddelanden, men samma problem, alltså att den bilden som ska komma på sista posten kommer på Alla...

Detta är koden nu:

```
sql = "Select * From galleri Where sort='" & Request.Querystring("kat") & "' Order By namn"

intCounter = 0

Set RecSet = Server.Createobject("ADODB.Recordset")
RecSet.Open sql, Conn, 1, 2

if(RecSet.EOF) then
  Response.Write "Inga kategorier inlagda i kategorin " & Request.QueryString("kat")
else
  While Not RecSet.EOF
    set objRS = Conn.Execute("SELECT * FROM galleri WHERE namn = '" & RecSet("namn") & "'")
    set objPicture = Conn.Execute("SELECT * FROM bilder WHERE namn = '" & Request.Querystring("kat") & "' ORDER BY namn DESC LIMIT 1")
    
    intCounter = intCounter + 1

    if(intCounter < RecSet.RecordCount) then
      strPath = "files/icon_lines.gif"
    else
      strPath = "files/icon_lines2.gif"
    end if

    Response.Write "<img border=""0"" src=""files/icon_lines_empty.gif"" width=""17"" height=""20"" align=""absmiddle"">"
    Response.Write "<img border=""0"" src=""" & strPath & """ width=""17"" height=""20"" align=""absmiddle"">"
    Response.Write "<img border=""0"" src=""files/icon_folder.gif"" width=""16"" height=""15"" align=""absmiddle"">&nbsp;&nbsp;"
    Response.Write "<a href=""./?page=galleri&kat=" & Request.QueryString("kat") & "&id=" & RecSet("namn") & """>" & RecSet("namn") & "</a><br>"
    
    RecSet.MoveNext
  Wend
end if
```

Permalänk: https://www.webforum.nu/p/1565170

## #19 — J.N., 2005-03-03T14:18Z

HEJ!

Har du en
Set RecSet = Server.CreateObject("ADODB.RecordSet")
med i din db-anslutning?

Trådåtervinning!

Okej, då är det endast att skriva ut de variabler du skapar och se vad som blir fel!

Vad är alltså intCounter och RecSet.RecordCount?

Permalänk: https://www.webforum.nu/p/1565171

## #20 — wunderbaren, 2005-03-03T14:23Z

Min kod som är precis ovanför SQL ser ut såhär:

```
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=databas;USER=user;PASSWORD=password;OPTION=3;"
```

Permalänk: https://www.webforum.nu/p/1565173

---

Tråden på webben: https://www.webforum.nu/amne/asp/123566-sista-posten-ska-visa-annorluna-bild  
Nästa sida: https://www.webforum.nu/amne/asp/123566-sista-posten-ska-visa-annorluna-bild/page2.md
