Archief - Php : Go to next record in detailpage

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

goezi

Legacy Member
Heb geruime tijd een probleempje; is het mogelijk in je detailpagina een "go to next record" link te zetten zodat de bezoekers niet steeds van de detailpagina naar de masterpagina moeten klikken??

Iemand een idee of dit mogelijk is (want de recordset van de detailpagina staat gesorteerd op "Lotnummer".

Om een idee te geven; het gaat over deze 2 pagina's:
www.veilingenlucdebakker.be/catalogus.php
www.veilingenlucdebakker.be/catalogus_detail.php

Diegene die me hierbij uit de nood kan helpen verdiend zekerst een pint :) !

greetz
goezi

WHiSPy

Legacy Member
goezi zei:
Heb geruime tijd een probleempje; is het mogelijk in je detailpagina een "go to next record" link te zetten zodat de bezoekers niet steeds van de detailpagina naar de masterpagina moeten klikken??

Iemand een idee of dit mogelijk is (want de recordset van de detailpagina staat gesorteerd op "Lotnummer".

Om een idee te geven; het gaat over deze 2 pagina's:
www.veilingenlucdebakker.be/catalogus.php
www.veilingenlucdebakker.be/catalogus_detail.php

Diegene die me hierbij uit de nood kan helpen verdiend zekerst een pint :) !

greetz
goezi

Een pint? Dat is gratis, hoor... (it's as free as beer)

goezi

Legacy Member
yep, i know.
Jij kan me niet helpen of werk je enkel met html???
Ik zoek iemand die met php overweg kan.

Viper5000

Legacy Member
ofwel snap ik het niet ofwel voeg je toch gewoon een link naar ?lotnummer=id+1 toe?

goezi

Legacy Member
mijn recordset van de detailpagina is gefiltered via het lotnummer.
Als ik deze niet filter dan is dit er geen probleem, dan kan ik idd makkelijk naar een volgende record gaan via een linkje.

Boddah

Legacy Member
en wat als er een lotnummer tussen uit is? als het bv van 20 ineens naar 27 gaat.

goezi

Legacy Member
idd, je hebt 100% gelijk.
De go to next record moet via Lotnummer_ID gaan.
Ik dacht aan het volgende (maar weet niet of dit mogelijk is)
Masterpagina (recordset niet gefilterd)
Detailpagina (recordset gefilterd op lotnummer) + link "next record" naar detailpagina 2
Detailpagina 2 (recordset niet gefilterd)

maT'

Legacy Member
2 opties die ik nu zie:
ofwel haal je uit je query zowel het vorige als het volgende lotnummer op (door het LIMIT-keyword) en verwijs je zo naar het volgende record.

Ofwel haal je alle records op, en steek je deze in een array. Wil je naar de volgende record gaan, dan schuif je 1 plaats op die array, en heb je je lotnummer.

Viper5000

Legacy Member
dan doe je het op de normale manier door een SQL query te runnen met limit op 1 waar het lotnummer groter is dan het huidig lotnummer. het lotnummer dat je dan terugkrijgt van de database is het volgende en dan maak je daar een link naar (om dit chinees om te zetten naar SQL: SELECT Lotnummer FROM table WHERE Lotnummer > $Lotnummer LIMIT 0,1)

mijn recordset van de detailpagina is gefiltered via het lotnummer.
Als ik deze niet filter dan is dit er geen probleem, dan kan ik idd makkelijk naar een volgende record gaan via een linkje.
wat bedoel je daarmee?

edit: hmm een reply terwijl ik aan het typen was :) de eerste optie van maT is dus wat ik ook bedoel

goezi

Legacy Member
wel dat ik een via een url parameter van het lotnummer de link leg tussen de master en de detailpagina. Die detailpagina laat enkel de records zien die overeenstemmen met het lotnummer waarop geklikt werd.
En wanneer ik geen url parameter plaats op de detailpagina krijg ik alle records die in de databank zitten (en kan ik ook naar de volgende gaan)

Dece

Legacy Member
doe zoals de forums het oplossen:
een link:
link.php?id=1025&goto=next

in php doe je
PHP:
<?php

(int) $id = !empty($_GET['id']) ? $_GET['id'] : 0;
if ($_GET['goto'] == 'next')
{
    $query = "SELECT id,...
                  FROM tabel
                  WHERE id > $id
                  LIMIT 1";
    //rest kunde zelf wel zeker
}
?>

Viper5000

Legacy Member
hehe idd, vergeten, volledige sql is dus SELECT Lotnummer FROM table WHERE Lotnummer > $Lotnummer ORDER BY Lotnummer ASC LIMIT 0,1 (alhoewel ascending default is denk ik en dus overbodig?)

goezi

Legacy Member
Heb het opgelost! Heb in totaal 4 recordsets aan de detailpagina toegevoegd.
1. Recordset detail van die van de master komt en die enkel 1 record bevat.
2. Recordset next: die alle records bevat met een id boven de geselecteerde record van recordset detail gesorteerd op Asc
3. Recordset Previous: die " " " " " " " " " " onder " " " " " "" gesorteerd op DES
4. Recordset Total met alle records die in de catalogus zitten.

Bedankt voor de hulp allemaal, het werkt perfect nu!!

Greetz

servi

Legacy Member
moderator noot :
je topic bevat geen prefix, een verkeerd prefix of heeft een onduidelijke titel.
Gelieve een duidelijke titel met een bijhorend correct prefix te gebruiken.
Voor meer informatie over prefixen kan je terecht op regels en prefixen !!!.
Je topic is aangepast en je hebt een een waarschuwing gekregen, gelieve in het vervolg er op te letten.

maT'

Legacy Member
goezi zei:
Heb het opgelost! Heb in totaal 4 recordsets aan de detailpagina toegevoegd.
1. Recordset detail van die van de master komt en die enkel 1 record bevat.
2. Recordset next: die alle records bevat met een id boven de geselecteerde record van recordset detail gesorteerd op Asc
3. Recordset Previous: die " " " " " " " " " " onder " " " " " "" gesorteerd op DES
4. Recordset Total met alle records die in de catalogus zitten.

Bedankt voor de hulp allemaal, het werkt perfect nu!!

Greetz
Gebruik je nu 4 queries voor wat evengoed met 1 query kan?

Optimalisatie ten top zou ik zeggen :)

maT'

Legacy Member
Welja, je optimaliseert je code/queries, en krijgt zo een performantie-winst :p

btw
2. Recordset next: die alle records bevat met een id boven de geselecteerde record van recordset detail gesorteerd op Asc
Waarom alle records?
Selecteer toch enkel het volgende record, want als je met enkele 1000-en producten zit, en je vraagt je eerste record op, dan haalt die 2de query nog 999 resultaten op, waarvan je er maar 1 nodig hebt ...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan