Avatar billede blach Nybegynder
04. januar 2006 - 15:20 Der er 17 kommentarer og
1 løsning

Bladre frem og tilbage

Jeg har brug for, at man ud fra et ID som er sat i URL'en (index.php?id=__), kan bladre:

<< Forrige id || Næste id >>

Altså f.eks. er ID 22 sat - man kan derfor ikke være sikker på at ID 21 er der, de kan se sådan ud:
18
20
21
23

Kender til LIMIT, men ved ikke hvordan denne skal drejes, når den evt. skal springe nogle ID over og man ikke nødvendigvis starter fra 0? (begyndelsen i DB)
Avatar billede coderdk Praktikant
04. januar 2006 - 15:26 #1
Du kan kigge på dette eksempel: http://php.coder.dk/pagination
Avatar billede blach Nybegynder
04. januar 2006 - 15:45 #2
Ja, det er noget lignende den jeg har til at bladre i udtrækt fra starten af DB.

Men hvordan fletter jeg mit ID ind i den smøre?
Skal det være $start ?
(Den skal jo tage udgangspunkt i det ID som er sat i URL'en)
Avatar billede coderdk Praktikant
04. januar 2006 - 16:04 #3
Du skal, så vidt jeg lige kan se, udskifte page med ID :)
Avatar billede blach Nybegynder
04. januar 2006 - 17:12 #4
Skiftede alle page ud med id

Den finder også fint de 2 stk som er i databasen, men laver følgende links:
http://localhost/hesteauktion/index.php?id=0
http://localhost/hesteauktion/index.php?id=1

Og det er meningen at den skal lave links:
http://localhost/hesteauktion/index.php?id=21
http://localhost/hesteauktion/index.php?id=22
Avatar billede coderdk Praktikant
04. januar 2006 - 17:21 #5
Det er fordi den er bygget over sider, og ikke ID'er... Den er sådan set ligeglad med ID'erne, om de er sammenhængende eller ej. Den tager bare og viser X pr side og fordeler alle ud over så mange sider som det passer med :)
Avatar billede blach Nybegynder
04. januar 2006 - 17:49 #6
Ja... Det er netop derfor jeg skriver, at jeg godt kender til LIMIT med at fordele ud over sider - og hvordan jeg programmerer noget op på ID'er - eller bare får det til at spille sammen :)
Avatar billede hmortensen Nybegynder
04. januar 2006 - 17:57 #7
Måske sådan her, hvor du får det id der er lige før og det id lige efter det aktuelle.
SELECT id FROM tabel WHERE id < $id ORDER BY id DESC LIMIT 1
SELECT id FROM tabel WHERE id > $id ORDER BY id ASC LIMIT 1
Avatar billede coderdk Praktikant
04. januar 2006 - 18:04 #8
Jeg kan ikke helt se hvad pointen er, i at binde det op på ID... Resultatet er vel det samme. Du får et antal sider...?!
Måske er der noget jeg ikke har forstået? :)
Avatar billede blach Nybegynder
04. januar 2006 - 19:52 #9
Skal nok have hjælp til mit SQL udtræk så:

SELECT user_id,pris,dato FROM bud WHERE id='$HTTP_GET_VARS[id]' DESC LIMIT 1

Som sagt skal den jo starte med et valgt ID, f.eks. 22 - og det skal så være muligt at klikke en frem og en tilbage...
Avatar billede blach Nybegynder
04. januar 2006 - 19:53 #10
Man kan måske skifte SQL udtræk alt efter om s=0 eller s>0 ?
Avatar billede coderdk Praktikant
04. januar 2006 - 20:58 #11
Hmm ok nu tror jeg nok at jeg forstår.
Du burde kunne bruge det eksempel jeg har skrevet, blot med en ITEMS_PER_PAGE på 1.
Alternativt kunne du lave to SELECT's; én med SELECT * FROM bud WHERE id < $id ORDER BY id DESC LIMIT 1 (forrige) og én med SELECT * FROM bud WHERE id > $id ORDER BY id LIMIT 1 (næste)
Avatar billede blach Nybegynder
05. januar 2006 - 14:57 #12
Ja, det sidste burde jo egentlig virke fint :)

Vil jeg prøve...
Avatar billede blach Nybegynder
17. januar 2006 - 18:02 #13
coderdk --> De point er dine - god ide du fik der, og jo meget simpel :)
Tak for hjælpen!
Avatar billede coderdk Praktikant
17. januar 2006 - 18:27 #14
hehe det var så lidt :)
Avatar billede hmortensen Nybegynder
17. januar 2006 - 21:32 #15
Samme svar du havde fået "04/01-2006 17:57:23" ;)
Avatar billede blach Nybegynder
17. januar 2006 - 23:46 #16
Ja, sorry... havde jeg overset!
Avatar billede coderdk Praktikant
17. januar 2006 - 23:47 #17
Det så jeg så heller ikke :) Vil du have dine points hmortensen?
Avatar billede hmortensen Nybegynder
18. januar 2006 - 06:04 #18
Nej nej, er her for at hjælpe :)
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