correcte coding
Ik heb in mijn vorige topic een probleem beschreven..(waarbij ik niet voldoende hulp heb mogen ontvangen ,helaas).. Nu heb ik het probleem ondertussen zelf opgelost en vroeg ik me af of deze code correct is. Hij werkt goed alleen vraag ik me af is hij veilig e.d. en wat zouden jullie anders doen?
Hier komt ie 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
if ($artiest->fotogroep == '1')
{
echo'
<a href="/images/artiesten/'.$artiest->foto1.'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">
<img src="/images/artiesten/'.$artiest->foto1.'.jpg" alt="'.$artiest->foto1.'" width="200" height="200" />';
$dbfoto = array(false,$artiest->foto1,$artiest->foto2,$artiest->foto3.$artiest->foto4,$artiest->foto5);
$fotos = range(1,5);
foreach($fotos as $value)
{
if (!empty($dbfoto[$value]) && $value != '1')
{
echo '<a href="/images/artiesten/'.$dbfoto[$value].'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">';
}
}
echo'</a>';
}
elseif($artiest->fotogroep == '0')
{
echo'
<a href="/images/artiesten/'.$artiest->foto1.'.jpg" rel="lightbox" title="'.$artiest->naam.'">
<img src="/images/artiesten/'.$artiest->foto1.'.jpg" alt="'.$artiest->foto1.'" width="200" height="200" /></a>';
}
?>
if ($artiest->fotogroep == '1')
{
echo'
<a href="/images/artiesten/'.$artiest->foto1.'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">
<img src="/images/artiesten/'.$artiest->foto1.'.jpg" alt="'.$artiest->foto1.'" width="200" height="200" />';
$dbfoto = array(false,$artiest->foto1,$artiest->foto2,$artiest->foto3.$artiest->foto4,$artiest->foto5);
$fotos = range(1,5);
foreach($fotos as $value)
{
if (!empty($dbfoto[$value]) && $value != '1')
{
echo '<a href="/images/artiesten/'.$dbfoto[$value].'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">';
}
}
echo'</a>';
}
elseif($artiest->fotogroep == '0')
{
echo'
<a href="/images/artiesten/'.$artiest->foto1.'.jpg" rel="lightbox" title="'.$artiest->naam.'">
<img src="/images/artiesten/'.$artiest->foto1.'.jpg" alt="'.$artiest->foto1.'" width="200" height="200" /></a>';
}
?>
Code (php)
Heel creatief ;D
waarom loop je niet gelijk door $dbfoto ?
dus:
Gewijzigd op 28/09/2010 22:29:11 door Martijn B
wat hier de reden van is kwam ik niet geheel uit dus heb ik die array gebruikt(en hierdoor werkt hij wel)
Toevoeging op 28/09/2010 22:30:41:
en jij bent zeer snel met veranderen van je code hahaha
kzal even kijken of dit zal werken:P
Dus ik denk dat het wel werkt ;P
Een foreach werkt niet als bijvoorbeeld $array geen array is.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Code (php)
Er zit trouwens een punt tussen foto3 en foto4 moet dat geen komma zijn?
Gewijzigd op 28/09/2010 22:43:48 door Martijn B
Foto 1 van 3 terwijl er maar in totaal 2 zijn.(2e foto kan ik overigens niet zien dus dit is een foto die niet "bestaat" blijkaar.
Toevoeging op 28/09/2010 22:45:37:
Martijn B op 28/09/2010 22:41:33:
Bijna:
Er zit trouwens een punt tussen foto3 en foto4 moet dat geen komma zijn?
Code (php)
Er zit trouwens een punt tussen foto3 en foto4 moet dat geen komma zijn?
Foto 1 moet ie niet weergeven omdat deze erboven al woord weergegeven om de "groep" te vormen onder 1 foto(effect van lightbox).
En of je $bestandsnaam gebruikt of $value lijkt me niet veel uit te maken.
en de punt moest inderdaad een komma zijn.
na in broncode te hebben gekeken krijg ik als antwoord :
/images/artiesten/Array.jpg
logisch aangezien je geen nummer in de Array selecteerd(lijkt mij)
Gewijzigd op 28/09/2010 22:47:51 door Radio Dancemania
De variabele $dbfoto wordt nergens anders gebruikt? Hierin zit namelijk 1 waarde minder in.
edit:
Ok foto 1 overslaan kun je aan de hand van de sleutel van de array doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$dbfoto = array($artiest->foto1,$artiest->foto2,$artiest->foto3.$artiest->foto4,$artiest->foto5);
foreach($dbfoto as $sleutel => $bestandsnaam)
{
if ( $sleutel && $bestandsnaam )
{
echo '<a href="/images/artiesten/'.$bestandsnaam.'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">';
}
}
?>
$dbfoto = array($artiest->foto1,$artiest->foto2,$artiest->foto3.$artiest->foto4,$artiest->foto5);
foreach($dbfoto as $sleutel => $bestandsnaam)
{
if ( $sleutel && $bestandsnaam )
{
echo '<a href="/images/artiesten/'.$bestandsnaam.'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">';
}
}
?>
De eerste sleutel is altijd 0 of wel false.
Gewijzigd op 28/09/2010 22:47:36 door Martijn B
Waarom niet $artiest->fotos[1] ?
... ,$artiest->foto3.$artiest->foto4, ...
Getallen horen niet binnen quotes.
if ($artiest->fotogroep == '1')
Pim de Haan op 28/09/2010 22:47:05:
Waarom niet $artiest->fotos[1] ?
omdat in mijn db de tabellen foto1 , foto2, foto3, foto4, foto5 zijn?
Edit:
Je had een fotos tabel moeten maken kun je meer dan 5 foto's gebruiken.
Je had een fotos tabel moeten maken kun je meer dan 5 foto's gebruiken.
Gewijzigd op 28/09/2010 22:51:10 door Martijn B
Radio Dancemania op 28/09/2010 22:48:29:
omdat in mijn db de tabellen foto1 , foto2, foto3, foto4, foto5 zijn?
Pim de Haan op 28/09/2010 22:47:05:
Waarom niet $artiest->fotos[1] ?
omdat in mijn db de tabellen foto1 , foto2, foto3, foto4, foto5 zijn?
Karl Karl op 28/09/2010 22:49:07:
(...) Ik heb het idee dat het datamodel niet klopt.
Bron quote.
Ha, ik heb gelijk.
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
if ($artiest->fotogroep == 1)
{
echo'
<a href="/images/artiesten/'.$artiest->foto1.'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">
<img src="/images/artiesten/'.$artiest->foto1.'.jpg" alt="'.$artiest->foto1.'" width="200" height="200" />';
$dbfoto = array($artiest->foto1,$artiest->foto2,$artiest->foto3.$artiest->foto4,$artiest->foto5);
foreach($dbfoto as $key => $foto)
{
if ( $key && $foto )
{
echo '<a href="/images/artiesten/'.$foto.'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">';
}
}
echo'</a>';
}
elseif($artiest->fotogroep == 0)
{
echo'
<a href="/images/artiesten/'.$artiest->foto1.'.jpg" rel="lightbox" title="'.$artiest->naam.'">
<img src="/images/artiesten/'.$artiest->foto1.'.jpg" alt="'.$artiest->foto1.'" width="200" height="200" /></a>';
}
?>
if ($artiest->fotogroep == 1)
{
echo'
<a href="/images/artiesten/'.$artiest->foto1.'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">
<img src="/images/artiesten/'.$artiest->foto1.'.jpg" alt="'.$artiest->foto1.'" width="200" height="200" />';
$dbfoto = array($artiest->foto1,$artiest->foto2,$artiest->foto3.$artiest->foto4,$artiest->foto5);
foreach($dbfoto as $key => $foto)
{
if ( $key && $foto )
{
echo '<a href="/images/artiesten/'.$foto.'.jpg" rel="lightbox['.$artiest->naam.']" title="'.$artiest->naam.'">';
}
}
echo'</a>';
}
elseif($artiest->fotogroep == 0)
{
echo'
<a href="/images/artiesten/'.$artiest->foto1.'.jpg" rel="lightbox" title="'.$artiest->naam.'">
<img src="/images/artiesten/'.$artiest->foto1.'.jpg" alt="'.$artiest->foto1.'" width="200" height="200" /></a>';
}
?>
iemand nog een tip?:)
Ga normaliseren.
Karl Karl op 28/09/2010 22:56:19:
Ga normaliseren.
geef misschien antwoorden waar iemand wat aan heeft of zeg gewoon niks;)
Code (php)
Waarom moeilijk als het ook zonder if() kan.
Code (php)
Gewijzigd op 28/09/2010 23:04:22 door - SanThe -
Code (php)
Als je alleen fotogroep 1 en 0 hebt dan:
@SanThe Nvt:
Omdat misschien foto5 niet gevuld kan zijn.
Gewijzigd op 28/09/2010 23:01:00 door Martijn B
Radio Dancemania op 28/09/2010 22:57:31:
geef misschien antwoorden waar iemand wat aan heeft of zeg gewoon niks;)
Karl Karl op 28/09/2010 22:56:19:
Ga normaliseren.
geef misschien antwoorden waar iemand wat aan heeft of zeg gewoon niks;)
Tja, zo kan je het ook opvatten.
Echter, hij heeft wel gelijk.
Radio Dancemania op 28/09/2010 22:57:31:
geef misschien antwoorden waar iemand wat aan heeft of zeg gewoon niks;)
Karl Karl op 28/09/2010 22:56:19:
Ga normaliseren.
geef misschien antwoorden waar iemand wat aan heeft of zeg gewoon niks;)
Je datadase model klopt niet.
Je hebt nu vijf tabellen zeg je.
Met daarin foto's
Tabel foto1, tabel foto2, enzovoort.
Dat klopt niet. Dat zorgt voor fouten. Dat is niet een genormaliseerd model.
Wat nu als je wilt dat er meerdere foto's kunnen toegevoegd worden?
En als je iets niet weet, dan moet je maar eens gaan googelen.
SanThe Nvt op 28/09/2010 22:58:32:
Waarom moeilijk als het ook zonder if() kan.
Code (php)
Waarom moeilijk als het ook zonder if() kan.
als je hem zonder if doet pakt ie dus alle 5 de fotos in het geval van martijn dus 4 foto's terwijl ik check of die foto's wel ingevoerd zijn?
Toevoeging op 28/09/2010 23:02:30:
Karl Karl op 28/09/2010 23:01:01:
Je datadase model klopt niet.
Je hebt nu vijf tabellen zeg je.
Met daarin foto's
Tabel foto1, tabel foto2, enzovoort.
Dat klopt niet. Dat zorgt voor fouten. Dat is niet een genormaliseerd model.
Wat nu als je wilt dat er meerdere foto's kunnen toegevoegd worden?
En als je iets niet weet, dan moet je maar eens gaan googelen.
Radio Dancemania op 28/09/2010 22:57:31:
geef misschien antwoorden waar iemand wat aan heeft of zeg gewoon niks;)
Karl Karl op 28/09/2010 22:56:19:
Ga normaliseren.
geef misschien antwoorden waar iemand wat aan heeft of zeg gewoon niks;)
Je datadase model klopt niet.
Je hebt nu vijf tabellen zeg je.
Met daarin foto's
Tabel foto1, tabel foto2, enzovoort.
Dat klopt niet. Dat zorgt voor fouten. Dat is niet een genormaliseerd model.
Wat nu als je wilt dat er meerdere foto's kunnen toegevoegd worden?
En als je iets niet weet, dan moet je maar eens gaan googelen.
nee ik heb geen tabel foto's ik heb een tabel met bijv artiesten:
naam, blabla,foto1,foto2,foto3,foto4 enz verder..