---
title: "loopar inte ut dom nyaste posterna?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/123688-loopar-inte-ut-dom-nyaste-posterna"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Bosse168"
published: "2005-03-03T21:20:40.000Z"
updated: "2005-03-07T18:42:43.000Z"
replies: 8
views: 294
page: 1
pages: 1
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/databaser-sql/123688-loopar-inte-ut-dom-nyaste-posterna"
---

# loopar inte ut dom nyaste posterna?

## #1 — Bosse168, 2005-03-03T21:20Z

Använder SQL-satsen nedan för att loopa ut poster ur min MySQL databas, men problemet är att den inte loopar ut dom nyaste posterna om det har skrivits in mer än 15 poster idag utan den loopar fortfarande ut dom 15 äldsta posterna.
Någon som vet vad det är som är fel?

```
SQL="SELECT id,slaf,texten,datum,mobil " & _
" FROM mess WHERE DAYOFMONTH(datum) = DAYOFMONTH(CURDATE()) " & _
" AND MONTH(datum) = MONTH(CURDATE()) " & _
" AND YEAR(datum) = YEAR(CURDATE()) ORDER BY datum LIMIT 15"
```

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

## #2 — Insider, 2005-03-03T21:25Z

Testa att lägga in DESC nånstans på slutet. Alternativt testa med FIRST 15 istället för LIMIT 15.
Kanske kan va nåt, chansar lite bara... :h

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

## #3 — Bosse168, 2005-03-03T21:28Z

Lägger jag till DESC så skrivs posterna ut åt fel håll och FIRST 15 funkar inte.

Fel meddelandet:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 

\[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-4.0.22-nt\]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FIRST 15' at line 1

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

## #4 — LarsG, 2005-03-04T08:45Z

```
SQL="select * from (SELECT id,slaf,texten,datum,mobil " & _
" FROM mess WHERE DAYOFMONTH(datum) = DAYOFMONTH(CURDATE()) " & _
" AND MONTH(datum) = MONTH(CURDATE()) " & _
" AND YEAR(datum) = YEAR(CURDATE()) ORDER BY datum desc LIMIT 15 ) dt order by datum"
```

Om du inte har 4.1 så finns följande alternativ

1) Uppgradera
2) Skapa en arbetstabell med den inre selecten och hämta från den sorterat stigande
3) Hämta in raderna med getrows och skriv ut dom i omvänd ordning

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

## #5 — Bosse168, 2005-03-04T10:23Z

Jag använder 4.0.22 så hur gör man för att få alternativ 3 att funka?

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

## #6 — LarsG, 2005-03-04T10:33Z

Om man normalt gör (lite schematiskt)

```
a = rs.getrows 
for i = 0 to ubound(a)
...
next
```

så gör man istället

```
a = rs.getrows 
for i = ubound(a) to 0 step -1
...
next
```

Det finns ett flertal exempel på getrows i ASP-forumet så sök där för att få detaljerna rätt.

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

## #7 — Bosse168, 2005-03-04T12:05Z

Använder denna kod men den loopar fortfarande ut fel.

```
SQL="SELECT id,slaf,texten,datum,mobil " & _
" FROM mess ORDER BY datum DESC LIMIT 15"

Set Rs = Connect.Execute(SQL)

myArray = Rs.GetRows()

Rs.Close : Set Rs = Nothing

for i = ubound(myArray) to 0 step -1

         Response.Write(myArray(3,i))

next
```

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

## #8 — @nders, 2005-03-06T06:30Z

Nu har du ju med DESC i sorteringen i SQL-frågan, plus att du vänder på allt när du skriver ut det. Du hämtar alltså i den ordningen du vill ha det, men du vänder på utskriften. Med den SQL-frågan du har i ditt sista inlägg ska du inte vända på utskriften.

```
for i = 0 to ubound(myArray, 2)
```

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

## #9 — Bosse168, 2005-03-07T18:42Z

Fick ordning på det tack ska ni ha för hjälpen. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/123688-loopar-inte-ut-dom-nyaste-posterna
