Zoekresultaten met pagination.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan terhuijzen

jan terhuijzen

26/11/2016 17:04:09
Quote Anchor link
Ik heb een formulier waar je een zoekopdracht kunt invoeren. Daarnaast kun je ook nog uitgebreide zoekopties gebruiken, zoals in welke database kolommen je wil zoeken, hoeveel resultaten per pagina getoond moeten worden, hoe de resultaten moeten worden gesorteerd, etc.
Als je de zoekopdracht uitvoert, komt dus de view met een lijst met alle resultaten.
Elk zoekresultaat is gewoon een tabelrij in een table, en elk resultaat heeft ook een checkbox.
De table staat weer in een apart formulier, met een submit button.
De aangevinkte zoekresultaten kun je weer verzenden met het formulier om deze bijvoorbeeld te verwijderen.
De problemen die ik nu dus heb:

1. Bij pagination heb je links waarmee je naar de vorige of volgende pagina navigeert. Het nadeel is dat als je checkboxes hebt aangevinkt, en naar de volgende pagina wil, dat dit dus eigenlijk geen nut heeft. De vorige 'pagina' bestaat niet meer, de aangevinkte resultaten worden 'vergeten'.

2. Bij het navigeren tussen de pagination pagina's wordt de zoekopdracht niet opnieuw uitgevoerd, want dit is iets dat in een vorige request is gedaan, en heeft nu niets meer te maken met een nieuwe request om de volgende resultatenpagina te bekijken.
De zoekquery kan erg uitgebreid worden (door de vele zoekopties), dus het lijkt me lelijk en onhandig om een extreem lange GET querystring in de URL te zetten. Daarmee bedoel ik niet per-se dat ik de letterlijke SQL query in een URL zou zetten, maar ook niet een lijst met de verzonden gegevens van het zoekformulier.

Probleem nummer 2 is nog wel op te lossen met sessions. Maar probleem 1 lijkt me moeilijker.
Gewijzigd op 26/11/2016 17:05:36 door Jan terhuijzen
 
PHP hulp

PHP hulp

22/12/2024 17:09:53
 
Thomas van den Heuvel

Thomas van den Heuvel

28/11/2016 14:39:33
Quote Anchor link
De GET method is doorgaans het handigste voor gebruik bij zoekformulieren, alle informatie zit dan namelijk in je URL. Aan de hand daarvan kun je je querystring opnieuw opbouwen. Deze informatie kun je tevens gebruiken om je formulier opnieuw te initialiseren.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.