foto's per pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

- Mark -

- Mark -

20/04/2011 18:26:14
Quote Anchor link
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.
 
PHP hulp

PHP hulp

24/04/2024 14:13:51
 
Lowies Jansen

Lowies Jansen

20/04/2011 20:13:05
Quote Anchor link
ja een teller maken lukt me wel maar als ik dan wil dat hij de juiste pagina open doet dat weet ik niet
 
- Mark -

- Mark -

20/04/2011 21:52:31
Quote Anchor link
Laat eens zien wat je tot nu toe hebt geprobeerd dan.
 
Lowies Jansen

Lowies Jansen

20/04/2011 23:47:07
Quote Anchor link
Maar de link werkt nog niet dus ik klik erop en dan komt in de adresbalk welke ik aanklik maar verder niet.....


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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> ";
}


?>
 
- Mark -

- Mark -

21/04/2011 09:01:03
Quote Anchor link
- Vars buiten quotes halen.
- 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.
 
Lowies Jansen

Lowies Jansen

21/04/2011 11:43:53
Quote Anchor link
sorry ik snap niet helemaal wat je bedoelt.......
als ik de teller niet op 0 zet dan krijg ik geen foto's
 
- Mark -

- Mark -

21/04/2011 11:48:36
Quote Anchor link
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.
 
Lowies Jansen

Lowies Jansen

21/04/2011 11:52:41
Quote Anchor link
bedoel je bij regel 20 -1 toevoegen...........
 
- Mark -

- Mark -

21/04/2011 12:00:30
Quote Anchor link
Let even op $pagina en $paginas

Ik heb er een paar fouten uitgehaald. Aan de rest mag je eerst zelf weer knutselen.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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> ';
                            
            }
        }


?>
Gewijzigd op 21/04/2011 12:15:56 door - Mark -
 
Lowies Jansen

Lowies Jansen

21/04/2011 12:11:33
Quote Anchor link
dit werkt echt super je had alleen op regel 45 de punt niet goed staan.........
nu ga ik alles goed nalopen en kijken of ik het helemaal juist snap zodat ik het zelf ook zou kunnen maken............
 
- Mark -

- Mark -

21/04/2011 12:19:38
Quote Anchor link
:p oeps, dat gebeurt wel eens als ik uit de losse pols bezig ben.

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.
 
Lowies Jansen

Lowies Jansen

21/04/2011 12:22:15
Quote Anchor link
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........
 
- Mark -

- Mark -

21/04/2011 12:26:01
Quote Anchor link
Op het moment wel ja, maar wat als er iets fout gaat tijdens het ophalen? $paginas geeft dan false terug. Dan krijg je foutmeldingen door array_chunk, count en bij de foreach()

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.
 
Lowies Jansen

Lowies Jansen

21/04/2011 12:34:30
Quote Anchor link
wacht ik denk dat ik het snap ik ga kijken via zoiets als..........

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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> ';
                            
            }
        }

}

?>
 
- Mark -

- Mark -

21/04/2011 12:43:08
Quote Anchor link
Dat is inderdaad mogelijk. Het is wel zo dat je nu geen verschil ziet tussen een fout door glob of een echt lege map.

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

    if(!$images = glob('uploads/*{.jpg,.JPEG,.JPG,.gif,.png}', GLOB_BRACE)){
        
        // Er is iets fout gegaan.
        
    }
    else{
    
        if(!empty($images)){
            
            // Er zijn 1 of meerdere bestanden gevonden.
            
        }
        else{
            
            // Helaas! We hebben geen enkel bestand kunnen vinden.
            
        }
    }


?>
Gewijzigd op 21/04/2011 12:56:59 door - Mark -
 
Lowies Jansen

Lowies Jansen

21/04/2011 12:54:23
Quote Anchor link
nu snap ik het ff niet meer je moet toch kijken naar $images en jij kijkt naar $files die snap ik niet..........
 
- Mark -

- Mark -

21/04/2011 12:56:37
Quote Anchor link
:p het was ook alleen maar als voorbeeld voor de opbouw. Het is in jouw geval $images ja.
 
Lowies Jansen

Lowies Jansen

21/04/2011 12:57:57
Quote Anchor link
ok sorry hoor dat ik dom overkom maar wil het heelgraag begrijpen........
ben nu al bezig met extra's toe te voegen in script
 
- Mark -

- Mark -

21/04/2011 13:04:20
Quote Anchor link
:p als je hier niet was om dingen te leren dan was ik allang met andere dingen bezig. En over dom over komen hoef je niet bang te zijn, dat valt allemaal wel mee. Ik ben ook verre van alwetend.

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.
 
Lowies Jansen

Lowies Jansen

21/04/2011 13:05:48
Quote Anchor link
ok dankje ik ga er mee bezig om te kijken of ik aantal foto's ik sessie kan krijgen zodat de gebruiker dat zelf kan aangeven..........

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.
 

Pagina: « vorige 1 2



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.