Vorige / Volgende navigatie
Hoi,
Ik heb een website met allemaal epidemieën.
Nu wil ik met behulp van vorige / volgende link naar de vorige/volgende rij in de database.
Nu heb ik dit:
uit $vorige moet dan de eerste beste vorige/volgende rij dus geselecteerd worden.
Met behulp van de functie (die een true returnt bij bestaan van de rij en een false bij het ontbreken van de rij) wil ik dan erheen gaan navigeren.
Echter, ik krijg het niet goed aan de praat. Hij echo't niets.
Ik heb een website met allemaal epidemieën.
Nu wil ik met behulp van vorige / volgende link naar de vorige/volgende rij in de database.
Nu heb ik dit:
Code (php)
uit $vorige moet dan de eerste beste vorige/volgende rij dus geselecteerd worden.
Met behulp van de functie (die een true returnt bij bestaan van de rij en een false bij het ontbreken van de rij) wil ik dan erheen gaan navigeren.
Echter, ik krijg het niet goed aan de praat. Hij echo't niets.
Gewijzigd op 26/08/2010 20:39:46 door Roeltje M
Gesponsorde koppelingen:
Code (php)
Gewijzigd op 26/08/2010 20:42:08 door Arjan -
Hij moet doorlopen totdat er 1 gevonden is..
Dus stel...
Je zit op ID 11.. en 10 en 9 bestaan niet.. Dan moet $vorige dus op 8 uitkomen.
Dus stel...
Je zit op ID 11.. en 10 en 9 bestaan niet.. Dan moet $vorige dus op 8 uitkomen.
zoek hier even tussen de scripts/tutorials. Hier staan diverse voorbeelden van hoe het makkelijker kan zonder het probleem "hij is bij 9 en 8 bestaat niet"
Roeltje M op 26/08/2010 20:47:06:
Hij moet doorlopen totdat er 1 gevonden is..
Dus stel...
Je zit op ID 11.. en 10 en 9 bestaan niet.. Dan moet $vorige dus op 8 uitkomen.
Dus stel...
Je zit op ID 11.. en 10 en 9 bestaan niet.. Dan moet $vorige dus op 8 uitkomen.
En wat nou als ID 1 t/m 10 niet bestaan?
Dan zit je in een oneindige loop.
Ik raad je aan om niet zo te werk te gaan. Werk met LIMIT in mysql. Hierdoor kan je gewoon het huidige paginanummer gebruiken om danwel 1 af te trekken of 1 op te tellen om respectievelijk de vorige en volgende pagina te krijgen.
Dus:
Dus:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$aantal_rijen_per_pagina = 8; // KAN OOK 1 ZIJN
$huidige_pagina = (int)$_GET['nav'];
$vorige_pagina = $huidige_pagina - 1;
$volgende_pagina = $huidige_pagina + 1;
$limit = ($huidige_pagina - 1) * $aantal_rijen_per_pagina;
$offset = $aantal_rijen_per_pagina;
$sql = mysql_query("SELECT id,titel FROM tabel ORDER BY id ASC LIMIT ".$limit.",".$offset);
?>
$aantal_rijen_per_pagina = 8; // KAN OOK 1 ZIJN
$huidige_pagina = (int)$_GET['nav'];
$vorige_pagina = $huidige_pagina - 1;
$volgende_pagina = $huidige_pagina + 1;
$limit = ($huidige_pagina - 1) * $aantal_rijen_per_pagina;
$offset = $aantal_rijen_per_pagina;
$sql = mysql_query("SELECT id,titel FROM tabel ORDER BY id ASC LIMIT ".$limit.",".$offset);
?>
Gewijzigd op 26/08/2010 21:10:20 door Arjan -
Je kan als het aantal aanvaardbaar blijft alle ID's in een array zetten en met behulp daarvan eentje up of eentje down ID oppiken in de array en de volgende pagina gegevens ophalen uit de database en tonen. Heeft als voordeel dat je betrekkelijk weinig epidemien in geheugen hebt.
@ Santhe: Daarvoor moet ik dus een if / else inbouwen. Maar had ik wel aan gedacht.
@ Arjen: Dit wordt het helaas niet. Ik heb enkel de Id's nodig. Niet alle gegevens
@ Aad: dit kunnen er behoorlijk veel zijn, dus helaas geen mogelijkheid.
@ Arjen: Dit wordt het helaas niet. Ik heb enkel de Id's nodig. Niet alle gegevens
@ Aad: dit kunnen er behoorlijk veel zijn, dus helaas geen mogelijkheid.
dan doe je toch gewoon bij arjen zijn script SELECT id FROM ......
Maar hoe stop ik dat in een lus die kijkt of de id bestaat, zo niet, door gaat?
Toevoeging op 27/08/2010 20:39:24:
Oké, ik gebruik nu het stuk van Arjen. ECHTER, ook hier telt het script er steeds 1 bij op.. Dus bij id 14 is vorige 13 en volgende 15. Ook wanneer 15 / 13 niet bestaat. In het geval van niet bestaan wil ik dus dat ie de volgende zoekt.
Toevoeging op 27/08/2010 20:39:24:
Oké, ik gebruik nu het stuk van Arjen. ECHTER, ook hier telt het script er steeds 1 bij op.. Dus bij id 14 is vorige 13 en volgende 15. Ook wanneer 15 / 13 niet bestaat. In het geval van niet bestaan wil ik dus dat ie de volgende zoekt.
Iemand nog een oplossing voor mij?



