Per pagina zoveel
ik heb een pagina en daar komt allemaal foto's op te staan.
Per pagina wil ik alleen 10 foto's en daarna kun je verder gaan naar de volgende pagina en daar komen dan ook weer alleen 10 foto's of minder.
Ik heb dingen geprobeerd maar het is me nog niet echt gelukt.
Weet iemand wat?
Alvast bedankt!
1) hoeveel foto's zijn er in totaal
2) hoeveel foto's wil je per pagina (dat weet je al)
3) bij welke foto moet de huidige pagina beginnen
Werk je met mysql of lees je een map uit?
Hoeveel foto's in totaal weet ik niet, want ik voeg elke keer wel nieuwe foto's. Dus de pagina moet gewoon elke keer als die ziet dat er meer dan 10 foto's zijn weer een pagina erbij doen. Dus niet meer dan 10 foto's per pagina.
Pagina 1 is dus de eerste 10 foto's en ga zo door.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Gewoon pagina via de GET, en via een map aanvraag of iets anders.
Ik snap niet precies waar je heen wilt, maar als je een database gebruikt, met daarin de namen van de foto's, dan heb je alle info die je nodig hebt. Zie mijn vorige post met de drie punten er in.
Die hebben $PerPage = 20;
en dan if $PerPage > 20 .......
Zo was het in dat script ongeveer.
Ik heb je punten wel gelezen ja, maar eerst wil ik even kijken of het zo ook kan.
dan is:
natuurlijk altijd false, dus dat is een raadselachtig stukje code. Ik raad je echt aan mijn manier te proberen, want volgens mij heb je iets in je hoofd dat niet gaat werken.
Niemand schreef op 27.06.2008 10:07:
Is er geen mogelijkheid net zoals wat gastenboeken ook hebben?
pagination php?
als ik dit doe:
wat is het beste om hem mee op te vragen, met mysql_num_rows en dan doen van if $Page ofzo is > 5 en dan nieuwe paginanummering?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// connecten en zo ...
$sql = "
SELECT COUNT(id) AS totaal
FROM tabelnaam
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
echo htmlentities ($sql);
}
else {
$row = mysql_fetch_assoc ($res);
echo '<p>Er zijn in totaal ' . $row['totaal'] . ' foto\'s.</p>';
}
?>
// connecten en zo ...
$sql = "
SELECT COUNT(id) AS totaal
FROM tabelnaam
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_error ());
echo htmlentities ($sql);
}
else {
$row = mysql_fetch_assoc ($res);
echo '<p>Er zijn in totaal ' . $row['totaal'] . ' foto\'s.</p>';
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
// aantal fotos te laten zien vaststellen
$aantal_fotos_per_page = 10;
// totaal aantal ophalen
$totaal = mysql_query("
SELECT COUNT(id) AS totaal
FROM tabelnaam
WHERE status = 1
");
// pagina setten om begin te berekenen
if(isset($_GET["page"]))
$current_page = $_GET["page"];
else $current_page = 0;
// limit vaststellen
$begin_fotos = $current_page * $aantal_fotos_per_page
$eind_fotos = $currentpage + $aantal_fotos_per_page
...
// query maken
$query = "select * from foto_tabel where status = 1 limit $begin_fotos, $eind_fotos ";
// uitvoeren
?>
// aantal fotos te laten zien vaststellen
$aantal_fotos_per_page = 10;
// totaal aantal ophalen
$totaal = mysql_query("
SELECT COUNT(id) AS totaal
FROM tabelnaam
WHERE status = 1
");
// pagina setten om begin te berekenen
if(isset($_GET["page"]))
$current_page = $_GET["page"];
else $current_page = 0;
// limit vaststellen
$begin_fotos = $current_page * $aantal_fotos_per_page
$eind_fotos = $currentpage + $aantal_fotos_per_page
...
// query maken
$query = "select * from foto_tabel where status = 1 limit $begin_fotos, $eind_fotos ";
// uitvoeren
?>
uit m'n hoofd, dit zou moeten werken..
edit: http://www.phphulp.nl/php/scripts/1/1369/
hier staat in het eerste stukje code ook (beter) dan hoe ik het hierboven heb staan..
Gewijzigd op 01/01/1970 01:00:00 door Leon Mondria