[PHP] Select subsectie onthouden tussen pagina's *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hoe selecteer ik de records een voor een uit een tabel. ik wil steeds de pagina opnieuw laden en dan met een cookie variabele bijvoorbeeld een cijfer meegeven waarmee ik door de records heen loop.

ik wil dus bij de eerste keer laden het eerste record alleen zien, dan de pagina opnieuw laden met achtergronden en tabellen met daarin het record. en daarna de pagina opnieuw laden met het tweede record erin.

het kan niet met een id in de tabel omdat er tussendoor records kunnen worden uitgegooid en dan de id dus niet meer altijd met 1 wordt verhoogd (of verlaagd, net hoe je het uit leest)

ik heb overal al gezocht maar ik kan dit specifieke probleem nergens vinden.
alvast hartelijk _/-\o_

Acties:
  • 0 Henk 'm!

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 17-09 06:59

Eelke Spaak

- Vlad -

Je kan gewoon de query uitvoeren die alle records haalt, en dan iets als:

code:
1
2
3
4
voer
{
  getRecord();
} aantal keer uit als cookievariabele - 1


Dan krijg je automatisch het goeie record de volgende keer dat je getRecord() uitvoert.

TheStreme - Share anything with anyone


Acties:
  • 0 Henk 'm!

  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 12:04
Kan je niet iets door te zoeken naar de kleinste ID dat groter is dan de huidige waarde in je cookie?

Acties:
  • 0 Henk 'm!

Verwijderd

Id nummer onthouden ( cookie gebruiken of als POST/GET meesturen ), en dan in de query zoiets doen:

SELECT bla FROM bla WHERE id > onthouden_id ORDER BY id desc LIMIT 1;

Dan krijg je altijd het volgende record met een hoger id.

Acties:
  • 0 Henk 'm!

  • mjax
  • Registratie: September 2000
  • Laatst online: 13:28
Verwijderd schreef op 17 november 2003 @ 14:00:
Id nummer onthouden ( cookie gebruiken of als POST/GET meesturen ), en dan in de query zoiets doen:

SELECT bla FROM bla WHERE id > onthouden_id ORDER BY id desc LIMIT 1;

Dan krijg je altijd het volgende record met een hoger id.
Dit gaat natuurlijk alleen werken als de weergave ook gebaseerd is op een sortering op ID. Een sortering op elk ander veld zorgt dat deze methode niet werkt.

Acties:
  • 0 Henk 'm!

Verwijderd

mjax schreef op 17 november 2003 @ 14:12:
[...]


Dit gaat natuurlijk alleen werken als de weergave ook gebaseerd is op een sortering op ID. Een sortering op elk ander veld zorgt dat deze methode niet werkt.
Hoe wil jij 1 enkel record sorteren dan? 8)7

Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

En als je nou gewoon je limit en offset mee geeft aan de volgende pagina? Dan hou je dezelfde sortering en limit, maar zet je gewoon je offset anders:

PHP:
1
2
"SELECT bla, bla2, bla3 FROM blaat ORDER BY ".$order_item." ".$order_direction." 
LIMIT ".$limit.", ".$offset;

[ Voor 13% gewijzigd door Banpei op 17-11-2003 15:23 ]

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

  • mjax
  • Registratie: September 2000
  • Laatst online: 13:28
Verwijderd schreef op 17 november 2003 @ 14:19:
[...]


Hoe wil jij 1 enkel record sorteren dan? 8)7
Ik geeft een theoretisch voorbeeld. De TS geeft nl. aan een voor een door de records te willen lopen. Hij geeft niet aan in welke volgorde dat moet gebeuren.

Overigens maakt een sortering wel degelijk uit, ook al selecteer je maar 1 record (zoals in jouw voorbeeld).

Je krijgt dus niet per definitie hetzelfde record terug als je de volgende twee queries uitvoert:

code:
1
SELECT bla FROM bla WHERE id > onthouden_id ORDER BY id desc LIMIT 1;


code:
1
SELECT bla FROM bla WHERE id > onthouden_id ORDER BY naam desc LIMIT 1;
Pagina: 1