Avatar billede rthuls Nybegynder
23. oktober 2004 - 17:27 Der er 9 kommentarer og
1 løsning

sql - hente forrige og næste række

Lidt forsimplet ser det sådan her ud, når jeg henter et indlæg fra databasen:
SELECT * FROM posts WHERE post_id=" . $id . "

Hvordan kan jeg også hente det indlæg der kommer før og det der kommer efter?
Det dur jo ikke bare at ligge til/trække fra id'et, da der jo kan være slettet en række, så det id mangler.
Avatar billede hmortensen Nybegynder
23. oktober 2004 - 17:38 #1
Der er noget om det her:
http://www.eksperten.dk/spm/551445
Avatar billede erikjacobsen Ekspert
23. oktober 2004 - 18:24 #2
Hvis du mener at det er værd at bruge 2 ekstra sql-sætninger
på det kan du med

  "select * from posts where post_id < '$id' limit 1"

få den forrige hvis den er der, og tilsvarende for den næste.
Avatar billede erikjacobsen Ekspert
23. oktober 2004 - 18:24 #3
Glemte lige en detalje:

    "select * from posts where post_id < '$id' order by post_id desc limit 1"
Avatar billede Slettet bruger
24. oktober 2004 - 02:03 #4
Man kan nøjes med 2 sql-sætninger.

select * from posts where post_id < '$id' order by post_id desc limit 1

og

select * from posts where post_id >= '$id' order by post_id asc limit 2
Avatar billede erikjacobsen Ekspert
24. oktober 2004 - 10:21 #5
limit 2 ?
Avatar billede Slettet bruger
24. oktober 2004 - 11:22 #6
Ja, for så behøver man ikke 3 queries ialt, men kan nøjes med 2. Hvis der var brugt limit 1, ville den jo kun have hentet den hvor id=$id.
Avatar billede erikjacobsen Ekspert
24. oktober 2004 - 11:25 #7
Nå ja - det så jeg ikke ;)
Avatar billede rthuls Nybegynder
24. oktober 2004 - 20:04 #8
erikjacobsen >> det virker som en fin måde at gøre det på. Vil du lægge et svar?
Avatar billede erikjacobsen Ekspert
24. oktober 2004 - 21:17 #9
Nej tak, jeg samler slet ikke på point.
Avatar billede rthuls Nybegynder
25. oktober 2004 - 08:42 #10
Nå ok, men du skal da i hvert fald have tak for hjælpen :o)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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