---
title: "Visa 5 senaste/5 mest besökta länkarna ur databasen?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/120222-visa-5-senaste-5-mest-besökta-länkarna-ur-databasen"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jimbo"
published: "2005-01-16T00:15:29.000Z"
updated: "2005-01-22T18:12:46.000Z"
replies: 29
views: 749
page: 1
pages: 2
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/120222-visa-5-senaste-5-mest-besökta-länkarna-ur-databasen"
---

# Visa 5 senaste/5 mest besökta länkarna ur databasen?

_Sida 1 av 2._

## #1 — jimbo, 2005-01-16T00:15Z

Hej på er igen!

Skrev i en tråd innan om <https://www.gruvsjo.com> länkarkiv, jag använder det, men lite förändringar skadar ju inte.

Har försökt botanisera lite i sökningen efter svar på dessa frågor men som den rookie man e så ....

Jag tänkte att jag skulle vilja visa de 5 senaste inlagda länkarna och de 5 mest besökta länkarna som finns i arkivet.

Att det handlar om databas hämtning så långt är jag med, ska man hämta antal länkar kör man ju detta:

```
 <%
strSQL = "SELECT COUNT(*) FROM url"
Set objRS = Conn.Execute (strSQL)
Response.write "Just nu " & objRS(0) & " länkar i databasen."
objRs.Close
set objRS = nothing
set objConn = nothing
%>
```

 

antar att det är något liknande med frågorna ovan?

Tack på förhand Mvh JImmy

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

## #2 — K@llen, 2005-01-16T00:21Z

Lite psuevdo-kod eftersom jag inte vet hur tabellen ser ut:

```
select top 5 * from tabellen order by id desc
```

```
select top 5 * from tabellen order by numberOfVisits desc
```

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

## #3 — jimbo, 2005-01-16T00:23Z

Tack de gick snnnnaabbbt =)

Antar att \* är ett tabellnamn/kolumn?

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

## #4 — K@llen, 2005-01-16T00:26Z

> **jimbo skrev:**
>
> Tack de gick snnnnaabbbt =)
> 
> Antar att \* är ett tabellnamn/kolumn?

\* står för alla kolumner i tabellen. Det bör bytas ut mot en kommaseparerad lista över de kolumner du vill ha med. Ex:

id, name, url, numberOfVisits

Då skulle det kunna bli:

```
select top 5 id, name, url, numberOfVisits from tabellen order by id desc
```

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

## #5 — jimbo, 2005-01-16T00:33Z

'Case' förväntas. 

/db/lankarkiv/index.asp, line 70 

line 70

```
<td width="348" align="right" valign="top"><%select top 5 id, namn numberOfVisits from tabellen order by id desc%>
```

Om det inte är en kommaseparerad lista ska då inte tabellnamnet vara inom "namn" eller ?

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

## #6 — K@llen, 2005-01-16T00:37Z

1\. Koden förutsätter Access, är det den databashanteraren du använder?
2\. Sedan får du sätta sql-frågan i ett sammanhang. Min kod ovan var bara visnings-exempel. För att kunna hjälpa dig med den koden måste jag veta dels vad tabellen heter, samt vad dina kolumner i tabellen heter.

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

## #7 — jimbo, 2005-01-16T00:42Z

datbasnamn: archive.mdb
 I den två tabeller som heter kat och url

url är väl den aktuella, i den ligger det 6 kolumner:
id, namn, url, info, kat, click

Blir detta bra så?

Glömde säga det är access databas ju.

Mvh JImmy

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

## #8 — dahlgren, 2005-01-16T07:57Z

Har du gjort kopplingen till databasen?

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

## #9 — jimbo, 2005-01-16T09:44Z

hmm nej kan ni hjälpa mig ?

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

## #10 — K@llen, 2005-01-16T11:12Z

Något sådant här som exempel. Connectionsträngen får du justera efter dina önskemål. ;)

```
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

sql = "select top 5 id, namn, url, info, kat, click from url order by id desc"
set rs = conn.execute(sql)

if not rs.eof then

    while not rs.eof

        response.write namn & "<br />"

    rs.movenext
    wend

end if

rs.close()
set rs = nothing
```

RED: Usch, stavfel.

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

## #11 — jimbo, 2005-01-16T22:10Z

Tackar!

Databasen tryckte jag in vid \* i koden.
Men det felar något med den?

Microsoft OLE DB Provider for ODBC Drivers fel '80004005' 

\[Microsoft\]\[ODBC Driver Manager\] Data source name not found and no default driver specified 

Databassökvägen är ju rätt den ligger i db. Hänger inte med?

```
<%Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (db/archive.mdb)}; DBQ=" & db

sql = "select top 5 id, namn, url, info, kat, click from url order by id desc"
set rs = conn.execute(sql)

if not rs.eof then

    while not rs.eof

        response.write namn & "<br />"

    rs.movenext
    wend

end if

rs.close()
set rs = nothing%>
```

Mvh JImmy

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

## #12 — Troxy, 2005-01-16T22:18Z

Databasens sökväg ska anges vid DBQ, där variabeln db nu är angiven. Du kan alltså göra följande:

```
db="db/archive.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db
```

Alternativt att helt enkelt ange sökvägen till databasen direkt där du anger drivrutin:

```
db="db/archive.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ=db/archive.mdb"
```

Jag skulle ta det senare alternativet eftersom det då inte behövs någon variabel, som kan kännas onödigt.

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

## #13 — jimbo, 2005-01-16T22:44Z

Hmm e de jag som bara är dum lr?

GJorde så här:

\[kod\]
\<%Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (\*.mdb)}; DBQ=db/archive.mdb"

sql = "select top 5 id, namn, url, info, kat, click from url order by id desc"
set rs = conn.execute(sql)

if not rs.eof then

    while not rs.eof

        response.write namn & "\<br /\>"

    rs.movenext
    wend

end if

rs.close()
set rs = nothing
%\>\[kod\]

Men de resulterade i det här:
Microsoft OLE DB Provider for ODBC Drivers fel '80004005' 

\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\]Allmänt fel Det går inte att öppna registernyckeln 'Temporary (volatile) Jet DSN for process 0x87c Thread 0x360 DBC 0xa11c024 Jet'

Varför kan den inte öppna databasen?

Mvh Jimmy

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

## #14 — @nders, 2005-01-17T04:10Z

> Varför kan den inte öppna databasen?

För att du angett fel sökväg till databasen. Du måste ange komplett fysisk sökväg, exempelvis mha Server.Mappath():

```
conn.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("db/archive.mdb")
```

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

## #15 — K@llen, 2005-01-17T16:06Z

Jag tycker att det redan borde finnas en connectionsträng i någon fil att inkludera iom att du bygger ut ett färdigt skript. Finns inte det har Gruvsjö missat något väsentligt i sin kodning. :)

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

## #16 — jimbo, 2005-01-17T22:47Z

Ok börjar bli smått förvirrade nu =)
Jo connectionsträngen finns ju  i en include fil som är inkluderad i index.asp så egentligen borde man väl inte då behöva ha ett databassträng i detta igen?

```
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/archive.mdb")
```

Om man nu ska det då borde det ju bli så här med hela scriptet:

```
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/archive.mdb")

sql = "select top 5 id, namn, url, info, kat, click from url order by id desc"
set rs = conn.execute(sql)

if not rs.eof then

    while not rs.eof

        response.write namn & "<br />"

    rs.movenext
    wend

end if

rs.close()
set rs = nothing
%>
```

Men då blir det ett error som säger att det angavs för få parametrar en förväntades.

Mvh JImmy

Utan bara att köra

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

## #17 — jimbo, 2005-01-20T21:30Z

Någon med någon bra ide' ?

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

## #18 — @nders, 2005-01-21T06:29Z

Felmeddelandet brukar betyda att du stavat fel på ett tabell- eller fältnamn i SQL-frågan.

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

## #19 — jimbo, 2005-01-22T09:55Z

Jo det var så click med k skulle de va, men den skriver inte ut något? kolla själv:
<http://www.fiskeportalen.com/db/lankarkiv/index.asp>

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

## #20 — @nders, 2005-01-22T10:14Z

Du får nog berätta var man ska titta någonstans, och hur utskriften borde se ut och visa exakt den kod du använder nu.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/120222-visa-5-senaste-5-mest-besökta-länkarna-ur-databasen  
Nästa sida: https://www.webforum.nu/amne/asp/120222-visa-5-senaste-5-mest-besökta-länkarna-ur-databasen/page2.md
