login  Naam:   Wachtwoord: 
Registreer je!
 Nota's op tutorial:

Tutorials > MySQL > Sorteren
Pagina:

Reacties op de tutorial Sorteren


Offline  Thomas
Gepost op: 21 april 2005 - 16:15
Moderator

Je kunt query-resultaten ook random sorteren, dit doe je met
ORDER BY RAND()

Stel dat je je resultaten over meedere pagina's hebt verdeeld, dan zou je dus wanneer je naar een tweede of volgende resultaatpagina navigeert weer heel je result-set (de volgorde althans) door de war schoppen.

Door een geheel getal (integer) als parameter mee te geven aan RAND() (dit getal kan zelf ook weer random zijn) wordt de random waarde telkens op dezelfde wijze berekend. Dit gehele getal zou je dan in een cookie of sessie op kunnen slaan, zodat je "random kunt zoeken, maar per zoekopdracht de random-volgorde hetzelfde blijft".

In je zoekformulier stop je dan bijvoorbeeld een hidden veld "random_order" ofzo, met als value een random integer. Voer je een (nieuwe) zoekopdracht uit, sla je deze random waarde op (of overschrijf je deze als ie al bestond) in een cookie of in je sessie. Wanneer je tussen de verschillende resultaatpagina's navigeert, sorteer je op RAND(<getal_uit_cookie_of_sessie>). Zo blijft de random (maar voor die zoekopdracht vaste) volgorde gehandhaafd.

Offline  polipie
Gepost op: 03 juli 2005 - 00:37
Nieuw lid

$manier = (isset($_GET['updown'])) && $_GET['updown'] == 'DESC') ? 'DESC' : 'ASC';

er staat een ) teveel

grtz

Offline  nemesiskoen
Gepost op: 04 september 2005 - 14:12
Gouden medaille

PHP expert


  1. case 'id': $sorteer = 'id'; break;
  2. case 'voornaam': $sorteer = 'voornaam'; break;
  3. case 'achternaam': $sorteer = 'achternaam'; break;
  4. case 'leeftijd': $sorteer = 'leeftijd'; break;
  5. case 'land': $sorteer = 'land'; break;
  6. default: $sorteer = 'id'; break;

Dit kan je korter schrijven:
  1. case 'id':
  2. case 'voornaam':
  3. case 'achternaam':
  4. case 'leeftijd':
  5. case 'land': $sorteer = $_GET['sortby']; break;
  6. default: $sorteer = 'id'; break;

Offline  bosgroen
Gepost op: 27 juli 2006 - 00:07
Gouden medaille

PHP interesse


- Misschien ook interessant om te vermelden is dat je op meerdere colommen kunt sorteren. De hoofdsorteerkolom zet je eerst.
- In elk geval is sorteren in de database geprefereert op sorteren in de resultaatarray.

Pagina:

Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.03s