Avatar billede klinemann Nybegynder
21. februar 2007 - 23:17 Der er 11 kommentarer og
2 løsninger

Spring over 3 nyeste poster i db.

Hejsa, jeg vil gerne vide hvordan man får den til at springe over de 3 nyeste poster i databasen?
Avatar billede The Real Yoda Juniormester
21. februar 2007 - 23:20 #1
select * from tabel where.... order by id limit 3,100


viser de 100 nyeste ... før de 3 nyeste
Avatar billede klinemann Nybegynder
21. februar 2007 - 23:26 #2
strSQL = "Select * from nyhed where type='privat' order by nyhedid limit 3,100 desc"

jeg kan ikke rigtig få den til at funge..
Avatar billede klinemann Nybegynder
21. februar 2007 - 23:32 #3
og nu du er her.. kan du så ikke også hjælpe mig med et andet problem?
Avatar billede softspot Forsker
21. februar 2007 - 23:38 #4
Hvilken database benytter du?

I en SQL Server kunne flg. benyttes:

select *
from tabel
where id not in (
  select top 3 id
  from tabel
)

Den metode kræver flg.
1. at din tabel har en entydig identificerbar mekanisme, som f.eks. et unik id.
2. at din subquery (den i parantes) returnerer de samme rækker (ikke kolonner!) som den overordnede query (som skal returnere alle de kolonner du skal bruge).
Avatar billede klinemann Nybegynder
21. februar 2007 - 23:41 #5
jeg benytter access
Avatar billede klinemann Nybegynder
21. februar 2007 - 23:43 #6
<%
                                                        intPage = Request("page")
                                                        If isNumeric(intPage) = False Or intPage < 1 Then
                                                        intPage = 1
                                                        End If

                                                        ' SQL forespørgsel
                                                        Set rs = Server.CreateObject("ADODB.RecordSet")
                                                        ' Udfør forespørgsel (rs indeholder nu resultatet)
                                                        strSQL = "Select * from nyhed where type='privat' or type='alle' order by nyhedid desc"
                                                        rs.Open strSQL, conn, 1, 3
                                                   
                                                        If Not (rs.BOF Or rs.EOF) Then
                                                        rs.PageSize = 3
                                                        rs.AbsolutePage = intPage
                                                        intRecCount = rs.PageSize
                                                        intPageCount = rs.PageCount
                                                        Do While Not rs.EOF And intRecCount > 0
                                                        %>
Avatar billede softspot Forsker
21. februar 2007 - 23:50 #7
Jeg vil tro det også fungerer i Access. Prøv med denne SQL:

strSQL = "Select * " & _
  "from nyhed " & _
  "where (type='privat' " & _
  "or type='alle') " & _
  "and nyhedid not in ( " & _
  "  select top 3 nyhedid " & _
  "  from nyhed " & _
  "  where type='privat' " & _
  "  or type='alle' " & _
  "  order by nyhedid desc " & _
  ")" & _
  "order by nyhedid desc"
Avatar billede klinemann Nybegynder
21. februar 2007 - 23:56 #8
hey softspot, det funkede..

Har du ellers en god ide til en database opstilling til at lave et billed galleri?
Avatar billede softspot Forsker
21. februar 2007 - 23:57 #9
Den vil muligvis brokke sig over at der mangler et mellemrum foran den sidste order by, så det må du heller indsætte bare for en sikkerhedsskyld :)

strSQL = "Select * " & _
  "from nyhed " & _
  "where (type='privat' " & _
  "or type='alle') " & _
  "and nyhedid not in ( " & _
  "  select top 3 nyhedid " & _
  "  from nyhed " & _
  "  where type='privat' " & _
  "  or type='alle' " & _
  "  order by nyhedid desc " & _
  ") " & _
  "order by nyhedid desc"
Avatar billede softspot Forsker
21. februar 2007 - 23:59 #10
Øøøh, det kommer an på hvilke krav du stiller til det galleri, men det lyder som et nyt spørgsmål (ikke nødvendigvis fordi det skal koste en masse point, men for at adskille tingene og for at øge chancen for at der er flere som kommer med deres idéer til emnet :))...

Velbekomme i øvrigt :)
Avatar billede softspot Forsker
22. februar 2007 - 00:05 #11
Meeeen et hurtigt bud kunne være:

Galleri =
  id  [unik nøgle]
+ titel  [tekstfelt, f.eks. 255 tegn]
+ tekst  [langt tekstfelt]

Billede =
  id  [unik nøgle]
+ galleriid [fremmednøgle til Galleri]
+ filnavn [tekstfelt som kan indeholde stien til billedet på serveren]
+ tekst  [langt tekstfelt]

BilledeKommentar =
  id  [unik nøgle]
+ billedeid  [fremmednøgle til billedet som kommentaren er relateret til]
+ tekst  [langt tekstfelt som indeholder kommentaren]
+ ip    [IP adressen på den bruger som har indtastet kommentaren]
+ oprettetdato  [dato og tid for oprettelse af kommentaren]


Ovenstående er bare et eksempel på hvordan det kan se ud, men det afhænger som sagt af hvad galleriet skal understøtte...
Avatar billede softspot Forsker
05. marts 2007 - 13:42 #12
Hva' så bellinizone? Skal der deles point ud/lukkes, eller var der mere?
Avatar billede softspot Forsker
14. september 2007 - 21:50 #13
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester