PHP ver gevorderde |
|
Als ik jouw goed snap heb je een query met daarin je aantal DVDs.
Als je deze bijvoorbeeld echoëd hebt in een table, krijg je bijvoorbeeld zoiets: ($aantal = aantal dvd's als array in query)
<?PHP
for ($i = 0; $i < count ($aantal); $i++)
{
echo '<tr>';
echo '<td>[ NAAM DVD ]</td>';
echo '<td>[ UITGEVER ]</td>';
echo '<tr>';
}
?>
<?PHP for ($i = 0; $i < count ($aantal); $i++) { echo '<td>[ NAAM DVD ]</td>'; echo '<td>[ UITGEVER ]</td>'; } ?>
Zou bijvoorbeeld geven:
[ Looney Toons ] [ Walt Disney ]
[ Saw 3 ] [ WeetIkVeel Pictures ]
als je daarvan bijvoorbeeld maakt:
<?PHP
for ($i = 0; $i < count ($aantal); $i++)
{
echo '<tr>';
echo '<td>[ #' . $i . ' ]</td>';
echo '<td>[ NAAM DVD ]</td>';
echo '<td>[ UITGEVER ]</td>';
echo '<tr>';
}
?>
<?PHP for ($i = 0; $i < count ($aantal); $i++) { echo '<td>[ #' . $i . ' ]</td>'; echo '<td>[ NAAM DVD ]</td>'; echo '<td>[ UITGEVER ]</td>'; } ?>
krijg je zoiets...
[# 1] [ Looney Toons ] [ Walt Disney ]
[# 2] [ Saw 3 ] [ WeetIkVeel Pictures ]
Nu kan je met behulp van de pagina systeem met de beginwaarden uit de $_GET het pagina nummer ophalen. (Offspring; natuurlijk wel controleren als ie bestaat, zoniet.. $offspring = 0;)
Als bijvoorbeeld pagina = 2 (2e pagina, dus niet 3 pagina's zoals array), zal je $offspring = ($_GET['pagina']*$maxperpagina); bij het getal optellen wat voor dvd-gegevens moet komen te staan.
Zoals dit bijvoorbeeld:
we zitten op pagina: http;//mijnpagina.nl/dvd/pagina=2
<?PHP
$iMaxPerPagina = 20;
if (isset ($_GET['pagina']) && is_numeric ($_GET['pagina']))
{
$iPagina = $_GET['pagina'];
}
else
{
$iPagina = 0;
}
$iOffspring = ($iPagina*$iMaxPerPagina);
// Je Query (Nu genoemd $sQuery) etc, in samenwerking met je $iOffspring..
for ($i = 0; $i < count ($sQuery); $i++)
{
echo '<tr>';
echo '<td>[ #' . ($i+$iOffspring) . ' ]</td>';
echo '<td>[ NAAM DVD ]</td>';
echo '<td>[ UITGEVER ]</td>';
echo '<tr>';
}
?>
<?PHP $iMaxPerPagina = 20; { $iPagina = $_GET['pagina']; } else { $iPagina = 0; } $iOffspring = ($iPagina*$iMaxPerPagina); // Je Query (Nu genoemd $sQuery) etc, in samenwerking met je $iOffspring.. for ($i = 0; $i < count ($sQuery); $i++) { echo '<td>[ #' . ($i+$iOffspring) . ' ]</td>'; echo '<td>[ NAAM DVD ]</td>'; echo '<td>[ UITGEVER ]</td>'; } ?>
Dit zal dus (als het goed is) hetvolgende weergeven..
[# 21] [ Looney Toons ] [ Walt Disney ]
[# 22] [ Saw 3 ] [ WeetIkVeel Pictures ]
Niet getest dus kan (domme) fouten bevatten, maar hopelijk geeft dit een indicatie hoe je het kan doen.. tenminste, als je dit bedoeld
@webstab, bij jouw scriptje zet hij alleen elke keer 1 t/m 20 bij op elke pagina, omdat je geen rekening houd met op welke pagina je zit... Dat zal dus berekend moeten worden, en bij elkaar opgeteld.. Of zie ik dat nou verkeerd? (Ps. Ik wil niet zeggen dat mijne werkt hoor! Maar ik hoop het wel ;)) |