---
title: "Visa senaste inlägg från DB"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13179-visa-senaste-inlägg-från-db/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "nisslass"
published: "2001-12-11T00:05:00.000Z"
updated: "2001-12-13T23:29:00.000Z"
replies: 40
views: 382
page: 2
pages: 3
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/13179-visa-senaste-inlägg-från-db"
---

# Visa senaste inlägg från DB

_Sida 2 av 3._

## #21 — nisslass, 2001-12-12T23:36Z

okey, jag kan inte skriva något i stil med? 

```
sql = "select top 20 * (select count(*) from Kommentarer where artikelid = a.id) as antal from Allt as a order by datum desc"
```

?

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

## #22 — LarsG, 2001-12-12T23:41Z

Om du lägger till ett komma efter \* så borde det bli ok.

```
sql = "select top 20 * ,(select count(*) from Kommentarer where artikelid = a.id) as antal from Allt as a order by datum desc"
```

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

## #23 — nisslass, 2001-12-12T23:46Z

Jag fick då 0 på antal kommentarer pga av att inga kommentarer hade skrivits \*logiskt\* när jag då skrev en kommentar fick jag:

```
Microsoft OLE DB Provider for ODBC Drivers error '80040e07' 

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
```

Fel på "line 9"

```
8. sql = "select top 20 * ,(select count(*) from Kommentarer where artikelid = a.id) as antal from Allt as a order by datum desc"
9. Set RS = Connection.Execute(SQL)
```

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

## #24 — LarsG, 2001-12-12T23:48Z

Vilken datatyp har kolumnen artikelid?

Den borde vara definierad som tal.

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

## #25 — nisslass, 2001-12-12T23:54Z

Njae, där va det "Text"...

När jag ändrade till tal så visade den antal artiklar = 0 fast det skulle vara = 1, och dessutom får jag då samma fel som nu när kommentaren skall hämtas i artikeln, som jag gjort enligt följande:

```
 Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Application("nyhetsdatabasen")
SQL = "SELECT * FROM Kommentarer where artikelid='" & request.querystring("id") & "'"
Set RS = Connection.Execute(SQL)
```

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

## #26 — LarsG, 2001-12-12T23:56Z

Det är därför det blir fel. Du försöker jämföra en text med räknare (numeriskt).

Du kan byta typ på kolumnen artikelid i Access så borde det gå bättre.

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

## #27 — nisslass, 2001-12-12T23:59Z

Jag redigerade mitt tidigare inlägg, kolla det. Får nu fel på ett annat ställe då som skriver :o/

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

## #28 — LarsG, 2001-12-13T00:01Z

Det skall inte vara några ' kring värdet om kolumnen är av typen tal.

```
SQL = "SELECT * FROM Kommentarer where artikelid=" & request.querystring("id")
```

Skriver du ut alla artiklar?

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

## #29 — nisslass, 2001-12-13T00:02Z

om jag skriver ut dem? nej? :o)

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

## #30 — LarsG, 2001-12-13T00:04Z

Du sa att du fick ut 0 kommentarer. Var det på alla artiklar eller bara den första?

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

## #31 — nisslass, 2001-12-13T00:06Z

Nu fungerar det alltså som det ska.

Kommentarerna visas på rätt ställe och räkningen stämmer! :)

Tack för hjälpen!! :)

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

## #32 — nisslass, 2001-12-13T00:08Z

Får jag vara lite jobbig igen då? hehe om fältet "visa" är = 0 i "kommentarer" ska den inte tas med i räkninen.. eller om visa = 1 ska kommentaren räknas med.. ja du förstår. 0 = icke godkänd

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

## #33 — LarsG, 2001-12-13T00:12Z

```
sql = "select top 20 * ,(select count(*) from Kommentarer where artikelid = a.id and visa = 1) as antal from Allt as a order by datum desc"
```

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

## #34 — nisslass, 2001-12-13T12:30Z

Nu blev det svårt igen, jag har tagit ett paging script beskrivet här på webForum och fixat att artiklarna som det visas 250 tecken delas upp på fler sidor när de är fler än 15. Men om jag nu vill ha med antalet kommentarer i nedanstående kod, hur göra?:

```
<%

Dim objConn
Dim strConnString
Dim strSQL
Dim objRS
Dim strName
Dim strComment
Dim dteDate
Dim intPageSize
Dim intPage
Dim intTotalPages
Dim intRecordCount

'## -- connection string, vilken provider och db ska användas --
strConnString = Application("nyhetsdatabasen")

'## -- hur många inlägg ska visas per sida --
intPageSize = 15

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")

'## -- om ingen querystring med sidvärde hittas, visa då första sidan --
If intPage = "" Then intPage = 1
%>
<HTML>
<HEAD>

</HEAD>
<BODY>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open Application("nyhetsdatabasen")

strSQL = "SELECT * FROM Allt where kategori='" & Request("kategori") & "' Order by Datum Desc"

'## -- skapa ett recordset --
Set objRS = Server.CreateObject("ADODB.Recordset")
'## -- hur många poster ska visas per sida --
objRS.PageSize = intPageSize

'## -- öppna och hämta alla records --
objRS.Open strSQL, objConn, 3, 1

'## -- vilken sida i recordset uppdelningen ska visas --
objRS.AbsolutePage = intPage

'## -- hur många sidor finns i recordset uppdelningen --
intTotalPages = objRS.PageCount

If objRS.EOF Then
Response.Write "Det finns inga inlägg.<BR>"
Else
'## -- lista alla inlägg som finns i db --
Do Until objRS.EOF or intRecordCount >= intPageSize

intRecordCount = intRecordCount + 1

id= objRS("id")
rubrik = objRS("rubrik")

datum = FormatDateTime(objRS("datum"),2) & " - " & FormatDateTime(objRS("datum"),4)
typ = objRS("typ")

artikel2 = objRS("artikel")
kat = Request("kategori")

If typ = "Artikel" then
artikel = Left(artikel2,250) & "...<BR><a href=""artikel.asp?id=" & id & """" & " class=gb2><läs mer></a> XX KOMMENTARER"
Else
artikel = Left(artikel2,250) & "...<BR><a href=""#"" onClick=""window.open('rec.asp?id=" & id & "&kat=" & kat & "', 'Untitled', 'width=600,height=400,screenX=50,screenY=50,toolbar=no,status=yes,location=no,menubar=no,directories=no,scrollbars=yes,resizable=no')"" class=gb2><läs recensionen></a>"
End If

%>

<span class="date"><%= datum %></span><BR>
        <b><span class="vanligrubrik"><%= rubrik %></span></b>
        
      
        <span class="vanligtext"><br><%= artikel %></span>
     </span><hr align="left" noshade color="#348ba1" size="1">

<%

objRS.MoveNext
Loop
End If

'## -- clean up --
objRS.Close
Set objRS = Nothing

objConn.Close
Set objConn = Nothing

'## -- visa sidnavigeringen --
'## -- intPage = vilken sida som ska visas --
'## -- intTotalPages = hur många sidor som recordsetet är uppdelat i --
Call PageNavigation(intPage, intTotalPages)
%>
</BODY>
</HTML>
<%
'## -- skapa sid-navigering --
Sub PageNavigation(ByVal WichPage, ByVal HowManyPages)
Dim strScriptName
Dim I

'## -- vilken sida ska navigeringen länka till --
strScriptName = "nyheter.asp?kategori=" & Request("kategori")

'## -- visa föregående, länkat eller olänkat beroende på vilken sida som visas --
If CInt(WichPage) > 1 Then
Response.Write "<A href='" & strScriptName & "&" & "page=" & WichPage - 1 & "' class='gb2'><< Föregående sida</A> "
Else
Response.Write "<span class='vanligtext'><< Föregående sida</span>"
End If

'## -- lista ut alla sidnummer --
For I = 1 To HowManyPages
If CInt(WichPage) <> I Then
Response.Write "<A href='" & strScriptName & "&" & _
"page=" & I & "' class='gb2'>" & I & "</A> "
Else
Response.Write "<span class='vanligtext'> [ <B>" & I & "</B> ] </span>"
End If
Next

'## -- visa Nästa, länkad eller olänkad beroende på vilken sida som visas --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<A href='" & strScriptName & "&" & _
"page=" & WichPage + 1 & "' class='gb2'>Nästa sida >>"
Else
Response.Write "<span class='vanligtext'>Nästa sida >></span>"
End If

End Sub

%>
```

XX Kommentarer, där skall antalet kommentarer stå. LarsG förstår nog vad jag menar :) eftersom vi diskuterat det menar jag. Kan inte bara byta ut strSQL strängen.. har testat ;)

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

## #35 — LarsG, 2001-12-13T12:43Z

Vad blir det för fel om du använder den sql-fråga som jag skrev med en count?

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

## #36 — nisslass, 2001-12-13T13:08Z

```
sql = " select * ,(select count(*) from kommentarer where artikelid = a.id ) as antal from Allt as a order by datum desc"
```

Någonstans vill jag slänga in en 
where kategori='" & kategori & "' etc...

det är nog där det blir fel..

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

## #37 — LarsG, 2001-12-13T13:13Z

```
sql = " select * ,(select count(*) from kommentarer where artikelid = a.id ) as antal from Allt as a where kategori = '" & Request("kategori") & "' order by datum desc"
```

Vill du ha med villkoret att visa = 1 för kommentarerna ?

```
sql = " select * ,(select count(*) from kommentarer where artikelid = a.id and visa = 1) as antal from Allt as a where kategori = '" & Request("kategori") & "' order by datum desc"
```

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

## #38 — nisslass, 2001-12-13T22:12Z

TACKAR!!

Den här då?
Top 10 lista, i "Allt" finns "read" på varje artikel som anger antalet ggr de har lästs. Nu vill jag visa de 10 som är mest lästa med det högsta antalet längst upp. :)

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

## #39 — LarsG, 2001-12-13T22:24Z

```
sql = "select top 10 * from allt order by read desc "
```

Read är inget bra kolumnnamn, då det är ett reserverat ord i SQL. (Kanske inte i Jet SQL dock.)

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

## #40 — nisslass, 2001-12-13T23:18Z

```
sql = "select top 10 * ,(select count(*) from Kommentarer where artikelid = a.id and visa='1') as antal from Allt as a where typ = 'Artikel' order by readtimes desc"
```

 
retunerar fler än 10 resultat :(

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/13179-visa-senaste-inlägg-från-db/page2  
Föregående sida: https://www.webforum.nu/amne/asp/13179-visa-senaste-inlägg-från-db.md  
Nästa sida: https://www.webforum.nu/amne/asp/13179-visa-senaste-inlägg-från-db/page3.md
