Vorige / Volgende navigatie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roeltje M

Roeltje M

26/08/2010 20:38:09
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$vorige
= $_GET['id'] - 1;
while ($outbreak->checkOutbreakExists($vorige))
{

    $vorige = $vorige - 1;
    echo $vorige;
}

?>


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
 
PHP hulp

PHP hulp

22/12/2024 12:28:38
 
Arjan -

Arjan -

26/08/2010 20:40:16
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$vorige
= $_GET['id'] - 1;
if($outbreak->checkOutbreakExists($vorige))
{

$vorige = $vorige - 1;
echo $vorige;
}

?>
Gewijzigd op 26/08/2010 20:42:08 door Arjan -
 
Roeltje M

Roeltje M

26/08/2010 20:47:06
Quote Anchor link
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.
 
Tobias Tobias

Tobias Tobias

26/08/2010 20:57:33
Quote Anchor link
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"
 
- SanThe -

- SanThe -

26/08/2010 21:01:17
Quote Anchor link
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.




En wat nou als ID 1 t/m 10 niet bestaan?
Dan zit je in een oneindige loop.
 
Arjan -

Arjan -

26/08/2010 21:05:53
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);

?>
Gewijzigd op 26/08/2010 21:10:20 door Arjan -
 
Aad B

Aad B

26/08/2010 21:52:32
Quote Anchor link
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.
 
Roeltje M

Roeltje M

27/08/2010 17:19:20
Quote Anchor link
@ 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.
 
Vincent Huisman

Vincent Huisman

27/08/2010 18:43:59
Quote Anchor link
dan doe je toch gewoon bij arjen zijn script SELECT id FROM ......
 
Roeltje M

Roeltje M

27/08/2010 18:48:53
Quote Anchor link
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.
 
Roeltje M

Roeltje M

31/08/2010 10:51:02
Quote Anchor link
Iemand nog een oplossing voor mij?
 



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.