foto's per pagina
In het menu onder de foto's kun je gewoon de link naar de pagina zetten. Je weet hoeveel pagina's er zijn dus je kunt er gewoon met een lus doorheen lopen om alle links in het menu te stoppen. Dit kan natuurlijk op meerdere manieren.
ja een teller maken lukt me wel maar als ik dan wil dat hij de juiste pagina open doet dat weet ik niet
Laat eens zien wat je tot nu toe hebt geprobeerd dan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
if (!isset($_GET['pagina'])) { $pagina = 0; } else { $pagina = $_GET['pagina']; }
# Foto's ophalen.
$images = glob('uploads/*{.jpg,.JPEG,.JPG,.gif,.png}', GLOB_BRACE);
# Foto's per 3 verdelen over meerdere pagina's.
$pagina = array_chunk($images, 3);
# Het totaal aantal foto's en pagina's tellen en laten zien.
echo 'We hebben in totaal '.count($images).' gevonden, deze hebben we per 3 over '.count($pagina).' pagina\'s verdeeld <br>';
# Foto's 1st pagina weergeven.
$teller ="0";
foreach($pagina[$teller] as $img){
echo "<a href=\"$img\" rel=\"lightbox\">
<img src=\"$img\" width=\"150\" border=O></a> ";
}
#Pagina's instellen.
echo "<br>";
if ($teller == $pagina){
echo "<b>[$teller]</b> ";
}
for($teller=0;$teller<=4;$teller++){
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$teller\">[$teller]</a> ";
}
?>
if (!isset($_GET['pagina'])) { $pagina = 0; } else { $pagina = $_GET['pagina']; }
# Foto's ophalen.
$images = glob('uploads/*{.jpg,.JPEG,.JPG,.gif,.png}', GLOB_BRACE);
# Foto's per 3 verdelen over meerdere pagina's.
$pagina = array_chunk($images, 3);
# Het totaal aantal foto's en pagina's tellen en laten zien.
echo 'We hebben in totaal '.count($images).' gevonden, deze hebben we per 3 over '.count($pagina).' pagina\'s verdeeld <br>';
# Foto's 1st pagina weergeven.
$teller ="0";
foreach($pagina[$teller] as $img){
echo "<a href=\"$img\" rel=\"lightbox\">
<img src=\"$img\" width=\"150\" border=O></a> ";
}
#Pagina's instellen.
echo "<br>";
if ($teller == $pagina){
echo "<b>[$teller]</b> ";
}
for($teller=0;$teller<=4;$teller++){
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pagina=$teller\">[$teller]</a> ";
}
?>
- Als je echo ' ' doet dan hoef je niet elke dubble quote te escapen.
- $teller ="0"; op regel 18 is nergens voor nodig.
- Er hoeven geen quotes om getallen heen.
- Je hebt dubbele vars. Je noemt de huidige pagina $pagina en je hebt de array met daarin alle pagina's met foto's hernoemt naar $pagina. Dit kan dus niet.
- Je moet niet $teller gebruiken op regel 20 maar de var voor de huidige pagina.
- op regel 32 moet je de 4 vergangen door het aantal pagina's.
- $_SERVER['PHP_SELF'] is niet veilig "XSS" en ook niet nodig in dit geval.
- Het gedeelte van 29 t/m 31 staat op de verkeerde plek.
als ik de teller niet op 0 zet dan krijg ik geen foto's
die teller heeft alleen iets te maken met het menu. De huidige / gekozen pagina moet je uit $_GET['pagina'] halen. Het is ook mooier om de pagina's van 1 te laten tellen en niet 0. Je kunt gewoon eenmalig -1 doen in de foreach lus als je de pagina weergeeft.
bedoel je bij regel 20 -1 toevoegen...........
Ik heb er een paar fouten uitgehaald. Aan de rest mag je eerst zelf weer knutselen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
if (!isset($_GET['pagina'])) { $pagina = 1; } else { $pagina = $_GET['pagina']; }
# Foto's ophalen.
$images = glob('uploads/*{.jpg,.JPEG,.JPG,.gif,.png}', GLOB_BRACE);
# Foto's per 3 verdelen over meerdere pagina's.
$paginas = array_chunk($images, 3);
# Het aantal pagina's tellen.
$page_count = count($paginas);
# Het totaal aantal foto's en pagina's tellen en laten zien.
echo 'We hebben in totaal '.count($images).' gevonden, deze hebben we per 3 over '.$page_count.' pagina\'s verdeeld <br>';
# Foto's 1st pagina weergeven.
foreach($paginas[($pagina - 1)] as $img){
echo "<a href=\"$img\" rel=\"lightbox\">
<img src=\"$img\" width=\"150\" border=O></a> ";
}
#Pagina's instellen.
echo "<br>";
for($teller = 1; $teller <= $page_count; $teller++){
if ($teller == $pagina){
echo "<b>[$teller]</b> ";
}
else{
echo '<a href="?pagina='.$teller.'">['.$teller.']</a> ';
}
}
?>
if (!isset($_GET['pagina'])) { $pagina = 1; } else { $pagina = $_GET['pagina']; }
# Foto's ophalen.
$images = glob('uploads/*{.jpg,.JPEG,.JPG,.gif,.png}', GLOB_BRACE);
# Foto's per 3 verdelen over meerdere pagina's.
$paginas = array_chunk($images, 3);
# Het aantal pagina's tellen.
$page_count = count($paginas);
# Het totaal aantal foto's en pagina's tellen en laten zien.
echo 'We hebben in totaal '.count($images).' gevonden, deze hebben we per 3 over '.$page_count.' pagina\'s verdeeld <br>';
# Foto's 1st pagina weergeven.
foreach($paginas[($pagina - 1)] as $img){
echo "<a href=\"$img\" rel=\"lightbox\">
<img src=\"$img\" width=\"150\" border=O></a> ";
}
#Pagina's instellen.
echo "<br>";
for($teller = 1; $teller <= $page_count; $teller++){
if ($teller == $pagina){
echo "<b>[$teller]</b> ";
}
else{
echo '<a href="?pagina='.$teller.'">['.$teller.']</a> ';
}
}
?>
Gewijzigd op 21/04/2011 12:15:56 door - Mark -
nu ga ik alles goed nalopen en kijken of ik het helemaal juist snap zodat ik het zelf ook zou kunnen maken............
Denk je wel nog aan al de andere punten? Je script moet nog opgeschoond worden en er moet nog best veel afgehandeld worden.
- Er wordt nog steeds niet gecontroleerd of er niet iets is fout gegaan tijdens het ophalen van de fotos's.
- Het gedeelte dat controleerd of er wel iets is gevonden zit er ook nog niet in.
- Er wordt ook niet gecontroleerd of de gekozen pagina wel bestaat.
die snap ik niet helemaal als ik op een pagina druk dan ziet hij de foto's die er bij horen dus dan is die toch ook gevuld........
En wat als je het script nu op een map gebruikt die leeg is? Dan krijg je niets te zien. Het zou wel zo mooi zijn als je dan een foutmelding kreeg.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
if (empty($images)){
echo "<b> Er zijn geen foto's in deze map!!!</b> ";
}
else {
# Foto's per 3 verdelen over meerdere pagina's.
$paginas = array_chunk($images, 5);
# Het aantal pagina's tellen.
$page_count = count($paginas);
# Het totaal aantal foto's en pagina's tellen en laten zien.
echo 'We hebben in totaal '.count($images).' gevonden, deze hebben we per 5 over '.$page_count.' pagina\'s verdeeld <br>';
# Foto's 1st pagina weergeven.
foreach($paginas[($pagina - 1)] as $img){
echo "<a href=\"$img\" rel=\"lightbox\">
<img src=\"$img\" width=\"150\" border=O></a> ";
}
#Pagina's instellen.
echo "<br>";
for($teller = 1; $teller <= $page_count; $teller++){
if ($teller == $pagina){
echo "<b>[$teller]</b> ";
}
else{
echo '<a href="?pagina='.$teller.'">['.$teller.']</a> ';
}
}
}
?>
if (empty($images)){
echo "<b> Er zijn geen foto's in deze map!!!</b> ";
}
else {
# Foto's per 3 verdelen over meerdere pagina's.
$paginas = array_chunk($images, 5);
# Het aantal pagina's tellen.
$page_count = count($paginas);
# Het totaal aantal foto's en pagina's tellen en laten zien.
echo 'We hebben in totaal '.count($images).' gevonden, deze hebben we per 5 over '.$page_count.' pagina\'s verdeeld <br>';
# Foto's 1st pagina weergeven.
foreach($paginas[($pagina - 1)] as $img){
echo "<a href=\"$img\" rel=\"lightbox\">
<img src=\"$img\" width=\"150\" border=O></a> ";
}
#Pagina's instellen.
echo "<br>";
for($teller = 1; $teller <= $page_count; $teller++){
if ($teller == $pagina){
echo "<b>[$teller]</b> ";
}
else{
echo '<a href="?pagina='.$teller.'">['.$teller.']</a> ';
}
}
}
?>
als het door een fout komt denkt de bezoeker dat er geen foto's zijn. Terwijl dat misschien wel zo is.
het gebruik van empty om te controleren of een array leeg is is wel goed.
Code (php)
Gewijzigd op 21/04/2011 12:56:59 door - Mark -
nu snap ik het ff niet meer je moet toch kijken naar $images en jij kijkt naar $files die snap ik niet..........
:p het was ook alleen maar als voorbeeld voor de opbouw. Het is in jouw geval $images ja.
ben nu al bezig met extra's toe te voegen in script
Anyway ik ben vannavond weer online, knutsel maar eventjes verder en als je dan weer vast zit dan kijken we wel wat je er van gebakken hebt.
Toevoeging op 22/04/2011 12:03:00:
Zo nu heb ik het zo gemaakt heb 1 map met daar andere foto mappen in.
In die map staat nu index.php en die laat de mappen zien nu heb ik in elke andere map ook index en die laat de foto's zien.