Versio

Navigatie fotoalbum

Overzicht Reageren

Milo

Milo

01/11/2009 12:48:00
Quote Anchor link
Hallo,
Voor mijn fotoalbum wil ik een kleine navigatie als ik door de mappen ga.
Dus iets als:
albums >> 2009 >> Pietje jarig

De mappen komen via de url binnen en worden in de var $albums gezet.
Nu ging ik de navigatie even in een apparte pagina maken om problemen te voorkomen met het huidige script vandaar de verzonnen $album.

Nu heb ik dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$album
= 'ALBUMS/2009/Fam Reunie';
$array = explode('/', $album);

foreach($array as $foto_nav)
{

    echo $foto_nav;
}

?>


Nu krijg ik alles achter elkaar geprint, en dan wil ik nog >> er tussen

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$album
= 'ALBUMS/2009/Fam Reunie';
$array = explode('/', $album);
$aantl = count($array);

foreach($array as $foto_nav)
{

    echo $foto_nav;
    echo ' >> ';
}

?>


Ik krijg nu wel alles netjes geprint maar hoe kan ik er voor zorgen dat er achter de laatste map geen >> meer komt?

Daarvoor heb ik naar mijn idee 2 dingen nodig:
- Totaal aantal array onderdelen.
- Een var waar instaat op welk moment je dan zit.

Maar ik heb geen idee hoe ik dit voor elkaar krijg, jullie wel?
Gr, Milo
Gewijzigd op 01/01/1970 01:00:00 door Milo
 
PHP hulp

PHP hulp

25/05/2012 07:19:13
Gesponsorde koppelingen:
 
Joris van Rijn

Joris van Rijn

01/11/2009 13:00:00
Quote Anchor link
Het leest een array uit.
Een array begint niet bij 1 maar bij 0.

Wat je ervan moet maken is dus dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
//eerste deel
if($aantal != $i-1)
    {

        echo ' >> ';
    }

?>
 
Milo

Milo

01/11/2009 13:08:00
Quote Anchor link
Okok dankje,
De - moest alleen wel een + zijn.
Gr, Milo

Resultaat:
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
<?php
$album
= 'ALBUMS/2009/Fam Reunie';
$array = explode('/', $album);
$aantal = count($array);

foreach($array as $foto_nav)
{

    echo $foto_nav;
    
    if($aantal != $i+1)
    {

        echo ' >> ';
    }

    $i++;
}

?>


Nu wil ik dat hij 1 map niet laat zien. en dat is de 1e map uit de array hoe krijg ik zoiets voor elkaar, ik dacht eerst substr maar dat is volgens mij alleen cijfers.

Iemand een idee?
Gewijzigd op 01/01/1970 01:00:00 door Milo
 
Joris van Rijn

Joris van Rijn

01/11/2009 14:11:00
Quote Anchor link
http://www.php.net/manual/en/function.array-shift.php

Met die functie.
En owja,, moest +1 zijn,, mijn fout.
 
Milo

Milo

01/11/2009 14:42:00
Quote Anchor link
Aight ik heb em :D

Nu komt het pas echt lastige stuk...
Ik moet een link geven aan bijv albums en die link moet dan gaan naar http://www.party-vision.nl/PAGINAS/ALBUMS
En 2009 moet dus naar
http://www.party-vision.nl/PAGINAS/ALBUMS/2009
enzovoort.

Enig idee hoe je zoiets uitvoert ;)

Natuurlijk gewoon een standaart link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="http://www.party-vision.nl/PAGINAS/">hier albums naam</a>


Maar hoe zorg ik er voor dat hij dan de link aanvult tot de benodigde array onderdeel, dus stel ik heb dit als mappen structuur:
-albums
--2009
--- jan jarig
--- piet jarig
--2008
--- kees gek

Hoe kan ik dan zorgen dat de link bij 2009 aanvult met de array 1 tm 3?

Moet ik dan een if statement binnen een link opbouwen?? :O

Gr, Milo
 
Lauren Zonneveld

Lauren Zonneveld

01/11/2009 19:20:00
Quote Anchor link
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
<?php
$album
= 'ALBUMS/2009/Fam Reunie';
$array = explode('/', $album);
$aantal = count($array);

for($i=0; $i<$aantal; $i++) {
    echo '<a href="paginas/'.($i-2>=0 ? $array[($i-2)].'/' : NULL).($i-1>=0 ? $array[($i-1)].'/' : NULL).$array[$i].'">'.$array[$i].'</a>';
    
    if($i < ($aantal - 1))
    {

        echo ' >> ';
    }
}

?>


Ik denk dat je zoiets bedoeld. Ik heb nu even shorthand if statements gebruikt maar dit kun je naar wens aanpassen natuurlijk, het gaat om het idee.
 



Overzicht Reageren

Get Adobe Flash player