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.
2.543 views