Ik kan standaardwaarde niet vervangen
ik ben bezig met een fotogalerie waarbij ik de grote foto op dezelfde pagina wil hebben als de kleine foto's en wanneer de pagina wordt geopend er een foto te zien is. Voorbeeld is http://www.robcnossen.nl/view_album.php?album_id=7.
Het is tot nu toe gedeeltelijk gelukt, wanneer de pagina wordt geopend is de laatst geüploade foto te zien en in de bron bij de img src is dan te zien dat het bijvoorbeeld om foto3.jpg uit de map uploads en album nummer 7 gaat, maar wanneer ik op een kleine foto klik om die te bekijken komt die niet tevoorschijn. In de paginabron bij img src is te zien dat foto3.jpg niet weg is gegaan en dat een andere foto erbij is gekomen, er ontstaat dan bijvoorbeeld zoiets als <img src="uploads/7/foto3.jpguploads/7/foto2.jpg" title="" />. Dus foto2.jpg komt op de juiste plaats aan maar foto3.jpg gaat niet weg. Er wordt dus geen enkele foto getoond.
Mijn code is;
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$albums = get_albums();
$images = get_images($album_id);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<div id="wrap">
<div id="sidebarleft">
<?php
//Een album met de kleine foto's
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
foreach ($images as $image) {
if ($image['album'] === $album['id'])
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a><a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
//Hier wordt de grote foto getoond
if (isset($_GET['image_id'])){
$full_image = $_GET['image_id'];
}else{
$full_image = (isset($images['id']));
}
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($full_image), '" title="" />';
//$img = get_image($album_id);
//echo '<img src="uploads/', $img['album'], '/',$img['image_id'], '" title="" />';
?>
Ik dacht dat ik het zou kunnen oplossen met een if else statement;
<?php
$full_image=(isset($_GET['image_id'])) ? $_GET['image_id'] : (isset($images['id']));
if(isset($_GET['image_id'])){
//echo werkt wel als ik het buiten de haakjes zet
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.'
,$image['ext'],htmlentities($full_image), '" title="" />';
}else{
$full_image=(isset($_GET['image_id'])) ? $_GET['image_id'] : (isset($images['id']));
echo'<img src="',htmlentities($full_image), '" title="" />';
}
?>
include 'core/init.php';
if (isset($_GET['album_id'])) {
$album_id = $_GET['album_id'];
$album_data = album_data($album_id, 'name', 'description');
echo '<h3>', $album_data['name'], '</h3><p>', $album_data['description'], '</p>';
$albums = get_albums();
$images = get_images($album_id);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<div id="wrap">
<div id="sidebarleft">
<?php
//Een album met de kleine foto's
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
foreach ($images as $image) {
if ($image['album'] === $album['id'])
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a><a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
}
?>
</div>
<div id="imagecontainer">
<div id="image">
<?php
//Hier wordt de grote foto getoond
if (isset($_GET['image_id'])){
$full_image = $_GET['image_id'];
}else{
$full_image = (isset($images['id']));
}
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($full_image), '" title="" />';
//$img = get_image($album_id);
//echo '<img src="uploads/', $img['album'], '/',$img['image_id'], '" title="" />';
?>
Ik dacht dat ik het zou kunnen oplossen met een if else statement;
<?php
$full_image=(isset($_GET['image_id'])) ? $_GET['image_id'] : (isset($images['id']));
if(isset($_GET['image_id'])){
//echo werkt wel als ik het buiten de haakjes zet
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.'
,$image['ext'],htmlentities($full_image), '" title="" />';
}else{
$full_image=(isset($_GET['image_id'])) ? $_GET['image_id'] : (isset($images['id']));
echo'<img src="',htmlentities($full_image), '" title="" />';
}
?>
Dit werkt niet, er komt geen foto tevoorschijn.
Mijn vraag is, wat moet er gedaan worden om de (soort) standaardwaarde te laten vervangen door een andere foto?
Ik kan op het internet hierover niets vinden wat mij tot een oplossing zou kunnen brengen.
Bij voorbaat dank,
Rob
[code] [/code] tags toegevoegd.[/modedit]
Gewijzigd op 20/02/2013 10:53:10 door Bas IJzelendoorn
Ik probeer in mijn fotogalerie met kleine foto's en de grote foto op een pagina de standaardwaarde(de grote foto die je ziet wanneer je de pagina opent) te laten vervangen door een foto naar keuze wanneer je op een kleine foto klikt.
Misschien dat de pagina het meer kan verduidelijken;http://www.robcnossen.nl/view_album.php?album_id=7
Klik maar op een kleine foto en er gebeuren rare dingen. De foto wordt wel zichtbaar maar de standaardfoto gaat niet echt weg waardoor de foto onder de standaardfoto tevoorschijn komt.
In de paginabron is de volgende code te zien;<img src="uploads/7/130.jpg1" title="" /><img src="uploads/7/123.jpg" title="" />.
Het eerste gedeelte met foto 130.jpg wil ik laten plaats maken voor het tweede gedeelte met foto 123.jpg.
Nu komt er achter 130.jpg een 1 achter te staan waardoor de foto niet te zien is, maar weg is de standaardfoto ook niet.
Mijn code is nu;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
foreach ($images as $image) {
if ($image['album'] === $album['id'])
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a><a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
}
?>
if (empty($images)) {
echo 'Er zijn geen foto\'s in dit album';
} else {
foreach ($albums as $album) {
foreach ($images as $image) {
if ($image['album'] === $album['id'])
echo'<a href="view_album.php?album_id=', $album['id'],'&image_id=uploads/', $image['album'], '/', $image['id'], '.', $image['ext'], '"><img src="uploads/thumbs/', $image['album'], '/', $image['id'], '.', $image['ext'], '" title="" /></a><a href="delete_image.php?image_id=', $image['id'],'">x</a> ';
}
}
}
?>
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
//$standaardwaarde is grote foto wanneer je de pagina opent
$standaardwaarde = (isset($_GET['image_id']));
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
//if($standaardwaarde==false);
//break($standaardwaarde);
//wanneer je klikt op een kleine foto komt de grote foto tevoorschijn
if (isset($_GET['image_id'])){
$klikfoto = $_GET['image_id'];
}else{
$klikfoto = (isset($images['id']));
}
echo'<img src="',htmlentities($klikfoto), '" title="" />';
?>
//$standaardwaarde is grote foto wanneer je de pagina opent
$standaardwaarde = (isset($_GET['image_id']));
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
//if($standaardwaarde==false);
//break($standaardwaarde);
//wanneer je klikt op een kleine foto komt de grote foto tevoorschijn
if (isset($_GET['image_id'])){
$klikfoto = $_GET['image_id'];
}else{
$klikfoto = (isset($images['id']));
}
echo'<img src="',htmlentities($klikfoto), '" title="" />';
?>
Kan ik dat alleen met break doen? Ik heb switch case gebruikt, dit lukte mij niet maar misschien gebruik ik het ook verkeerd;
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$standaardfoto = (isset($_GET['image_id']));
switch ($standaardfoto) {
case (isset($_GET['image_id'])):
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardfoto), '" title="" />';
break;
case (isset($_GET['image_id'])) ? $_GET['image_id'] : (isset($images['id'])):
echo'<img src="',htmlentities($standaardfoto), '" title="" />';
break;
?>
$standaardfoto = (isset($_GET['image_id']));
switch ($standaardfoto) {
case (isset($_GET['image_id'])):
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardfoto), '" title="" />';
break;
case (isset($_GET['image_id'])) ? $_GET['image_id'] : (isset($images['id'])):
echo'<img src="',htmlentities($standaardfoto), '" title="" />';
break;
?>
Wie kan mij hierbij helpen?
Wat probeer je bij de switch te bereiken?
Code (php)
is het gedeelte wat zichtbaar wordt wanneer je de pagina opent. Dat gedeelte wil ik laten verdwijnen wanneer ik op een kleine foto druk. Met break hoopte ik dat dit gedeelte plaats zou maken voor;
Code (php)
Misschien dat dit mijn bedoeling nog wat duidelijker kan maken;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
//$standaardwaarde is grote foto wanneer je de pagina opent
$standaardwaarde = (isset($_GET['image_id']));
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
unset($standaardwaarde);
//wanneer je klikt op een kleine foto komt de grote foto tevoorschijn
if (isset($_GET['image_id'])){
$klikfoto = $_GET['image_id'];
}else{
$klikfoto = (isset($images['id']));
}
echo'<img src="',htmlentities($klikfoto), '" title="" />';
?>
//$standaardwaarde is grote foto wanneer je de pagina opent
$standaardwaarde = (isset($_GET['image_id']));
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
unset($standaardwaarde);
//wanneer je klikt op een kleine foto komt de grote foto tevoorschijn
if (isset($_GET['image_id'])){
$klikfoto = $_GET['image_id'];
}else{
$klikfoto = (isset($images['id']));
}
echo'<img src="',htmlentities($klikfoto), '" title="" />';
?>
Hier probeer ik met unset($standaardwaarde); de standaardfoto(de foto die zichtbaar is wanneer je de pagina opent, in dit geval de foto met het kruiend ijs, want dat is de laatst geüploade foto), te stoppen en plaats te laten maken voor een andere foto omdat er op een thumbnail geklikt wordt. Maar helaas, het lukt niet, ik doe dus iets verkeerd.
http://www.robcnossen.nl/view_album.php?album_id=7
Ik hoop dat het duidelijk wordt, zo niet, vraag verder om verduidelijking.
Dank je...
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
if(isset($_GET['image_id'])){
//als er een image_id in de url staat deze code
}
else{
//zo niet deze code
}
//als er een image_id in de url staat deze code
}
else{
//zo niet deze code
}
en waarom gebruik je htmlentities, klikfoto is volgens mij toch een id?
Ik heb nu;
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$standaardwaarde = (isset($_GET['image_id']));
if(isset($_GET['image_id'])){
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
}
else{
echo'<img src="',htmlentities($standaardwaarde), '" title="" />';
}
?>
$standaardwaarde = (isset($_GET['image_id']));
if(isset($_GET['image_id'])){
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
}
else{
echo'<img src="',htmlentities($standaardwaarde), '" title="" />';
}
?>
http://www.robcnossen.nl/view_album.php?album_id=7
De foto's komen helaas niet door.
Ik heb htmlentities erbij staan omdat ik denk dat dit er altijd bij moet staan wanneer er iets door een gebruiker ingevuld kan worden. de foto's kunnen namelijk door een gebruiker geüpload worden.
Wat krijg je te zien als je de img tag weg haalt en neerzet echo $_GET['image_id']? Waar komt $image vandaan,wat staat er in de functie?
Als ik de img tag weghaalt en $_GET['image_id'] echoot dan komt er 'Notice: Undefined index: image_id' in beeld. Wanneer ik daarbij isset gebruik is er verder niets te zien, maar er gebeurd ook niets.
De variabele $image komt uit de foreach loop foreach ($images as $image).
Welke functie bedoel je?
Notice: Undefined index: image_id, kennelijk bestaat $_GET['image_id'] niet dit is de rede dat er niks wordt weergegeven.
Als image_id niet bestaat ga je verder naar else, hier staat alleen de standaard waarde welke ook $_GET['image_id'] is.
Je kan even kijken naar print_r($_GET) maar ik denk dat image_id niet in de url staat.
Quote:
De variabele $image komt uit de foreach loop foreach ($images as $image).
Welke functie bedoel je?
Welke functie bedoel je?
$images = get_images($album_id);
Rob Cnossen op 18/02/2013 23:26:09:
... Als ik de img tag weghaalt en $_GET['image_id'] echoot dan komt er 'Notice: Undefined index: image_id' ...
Zo krijg je geen notice
http://www.robcnossen.nl/view_album.php?album_id=7
Wanneer je op een kleine foto klikt komt er wel een image_id, deze kan er zo uit zien;
http://www.robcnossen.nl/view_album.php?album_id=7&image_id=uploads/7/123.jpg
Het ligt er maar net aan welke album er geopend is en welke foto je wilt zien.
Ik probeer verder de code goed te krijgen maar dat gaat nog niet goed. Ik probeer nu, zoals je eerder voorstelde, met een gewone if else statement te bereiken wat ik wil;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//$standaardwaarde is grote foto wanneer je de pagina opent
if($standaardwaarde = (isset($_GET['image_id'])));
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
unset($standaardwaarde);
//wanneer je klikt op een kleine foto komt de grote foto tevoorschijn
if(isset($_GET['image_id'])){
$klikfoto = $_GET['image_id'];
}else{
$klikfoto = (isset($images['id']));
}
echo'<img src="',htmlentities($klikfoto), '" title="" />';
?>
//$standaardwaarde is grote foto wanneer je de pagina opent
if($standaardwaarde = (isset($_GET['image_id'])));
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
unset($standaardwaarde);
//wanneer je klikt op een kleine foto komt de grote foto tevoorschijn
if(isset($_GET['image_id'])){
$klikfoto = $_GET['image_id'];
}else{
$klikfoto = (isset($images['id']));
}
echo'<img src="',htmlentities($klikfoto), '" title="" />';
?>
Ook hierbij blijft er in de paginabron dit te zien;
<img src="uploads/7/130.jpg" title="" /><img src="" title="" />
Die tweede lege img src wil ik eigenlijk weg hebben en de eerste img src wil ik behouden maar dan dat de img src wisselt van foto.
De funtie $images = get_images($album_id); ziet er zo uit;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function get_images($album_id) {
$album_id = (int)$album_id;
$images = array();
$image_query = mysql_query("SELECT `image_id`, `image_name`, `album_id`, `timestamp`, `ext` FROM `images` WHERE `album_id`=$album_id");
while ($images_row = mysql_fetch_assoc($image_query)) {
$images[] = array(
'id' => $images_row['image_id'],
'img_name' => $images_row['image_name'],
'album' => $images_row['album_id'],
'timestamp' => $images_row['timestamp'],
'ext' => $images_row['ext']
);
}
return $images;
}
?>
function get_images($album_id) {
$album_id = (int)$album_id;
$images = array();
$image_query = mysql_query("SELECT `image_id`, `image_name`, `album_id`, `timestamp`, `ext` FROM `images` WHERE `album_id`=$album_id");
while ($images_row = mysql_fetch_assoc($image_query)) {
$images[] = array(
'id' => $images_row['image_id'],
'img_name' => $images_row['image_name'],
'album' => $images_row['album_id'],
'timestamp' => $images_row['timestamp'],
'ext' => $images_row['ext']
);
}
return $images;
}
?>
Code (php)
Wat krijg je te zien als je dit neerzet?
Dit werkt niet.
- Daar dient isset niet voor. isset geeft true of false terug; op basis van 'bestaat de variabele?'; niet de waarde van een variabele.
- klassieke fout: de lijn van if() afsluiten door een puntkomma. Daardoor doet die if niets.
Ik wil niet lastig doen, maar zou je niet gewoon mijn ternary gebruiken?
Gewijzigd op 19/02/2013 15:42:49 door Kris Peeters
Code (php)
Moet je dit doen:
Code (php)
Is exact hetzelfde als Kris zijn 'ternary':
Code (php)
doe, dan krijg ik; Notice: Undefined index: id in /mappen/robcnossen.nl/map/view_album.php on line 108
album id, te zien.
Kris en Eddy, ik heb nu jullie 'ternary'(ik kende het niet, nu wel, dank je) gebruikt;
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$standaardwaarde=isset($_GET['image_id']) ? $_GET['image_id'] : isset($images['id']);
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
//echo'<img src="',htmlentities($klikfoto), '" title="" />';
?>
$standaardwaarde=isset($_GET['image_id']) ? $_GET['image_id'] : isset($images['id']);
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
//echo'<img src="',htmlentities($klikfoto), '" title="" />';
?>
maar hoe kan ik het op de juiste manier gebruiken om beide echo's te gebruiken? Aannemende dat ik echt beide echo's nodig heb.
De pagina ziet er nu zo uit;http://www.robcnossen.nl/view_album.php?album_id=7 en wanneer er op een kleine foto wordt geklikt ziet het er zo uit;<img src="uploads/7/130.jpguploads/7/123.jpg" title="" />
Wat werkt er nog niet?
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
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
<?php
// TOON DE AFBEELDING
// hiervoor zijn nodig:
// $image['album']
// $image['id']
// $image['ext']
// $waarde
// -> $images['id']
// -> $_GET['image_id']
// verkrijg de waarde
$image['id'] = isset($_GET['image_id']) ? intval($_GET['image_id']) : $images['id'];
// kijk of alles wat we nodig hebben aanwezig is
if(isset($image['album'], $image['id'], $image['ext']))
{
echo '<img src="uploads/' . $image['album'] . '/' . $image['id'] . '.', $image['ext'] . '" alt="Afbeelding #' . $image['id'] . '">';
}
else
{
echo '<b>Fout</b><br>
Eén van de benodigde waardes missen!<br>
Wat ik wel heb:<br>
<hr>
' . print_r($image, true) . '
<hr>';
}
?>
// TOON DE AFBEELDING
// hiervoor zijn nodig:
// $image['album']
// $image['id']
// $image['ext']
// $waarde
// -> $images['id']
// -> $_GET['image_id']
// verkrijg de waarde
$image['id'] = isset($_GET['image_id']) ? intval($_GET['image_id']) : $images['id'];
// kijk of alles wat we nodig hebben aanwezig is
if(isset($image['album'], $image['id'], $image['ext']))
{
echo '<img src="uploads/' . $image['album'] . '/' . $image['id'] . '.', $image['ext'] . '" alt="Afbeelding #' . $image['id'] . '">';
}
else
{
echo '<b>Fout</b><br>
Eén van de benodigde waardes missen!<br>
Wat ik wel heb:<br>
<hr>
' . print_r($image, true) . '
<hr>';
}
?>
Let op dat ik $image['id'] overschrijf ipv $standaardwaarde.
Die htmlentities() is niet nodig.
Met het Javascript (het klik-gedeelte) moet je eerst de href leeghalen, en dan weer met de nieuwe waarde vullen. Niet erbij zetten.
Zie http://www.hervormdegemeentebovenhardinxveld.nl/foto/42/Jeugdinfo-bladen/ voor een voorbeeld (met jQuery)
Dit zorgt ervoor dat de "standaardfoto " zichtbaar is wanneer je de pagina opent;
Code (php)
1
2
3
4
2
3
4
<?php
$standaardwaarde=isset($_GET['image_id']) ? $_GET['image_id'] : isset($images['id']);
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
?>
$standaardwaarde=isset($_GET['image_id']) ? $_GET['image_id'] : isset($images['id']);
echo'<img src="uploads/' ,$image['album'], '/' ,$image['id'], '.' ,$image['ext'],htmlentities($standaardwaarde), '" title="" />';
?>
De kleine foto's zijn ook klikbaar maar worden niet zichtbaar omdat om de een of andere reden de "standaardfoto" zich niet laat vervangen.
Dit zorgt ervoor dat de "standaardfoto" niet te zien is, maar de kleine foto's worden wel zichtbaar wanneer er op geklikt wordt.
Code (php)
1
2
3
4
2
3
4
<?php
$standaardwaarde=isset($_GET['image_id']) ? $_GET['image_id'] : isset($images['id']);
echo'<img src="' ,htmlentities($standaardwaarde), '" title="" />';
?>
$standaardwaarde=isset($_GET['image_id']) ? $_GET['image_id'] : isset($images['id']);
echo'<img src="' ,htmlentities($standaardwaarde), '" title="" />';
?>
Wanneer er van deze twee echo's één echo kan worden gemaakt lijkt mij de oplossing dichtbij, maar ik zie niet hoe dit gedaan kan worden...
Toevoeging op 20/02/2013 11:17:59:
Eddy,
als ik jou voorbeeld volg wordt dit zichtbaar;
Notice: Undefined index: id in /allerlei mappen/robcnossen.nl/public_html/view_album.php on line 105
Fout
Eén van de benodigde waardes missen!
Wat ik wel heb:
Array ( [id] => [img_name] => PICT0059.JPG [album] => 7 [timestamp] => 1359552936 [ext] => jpg )
De [id] lijkt niet te pakken wanneer het gebruikt wordt met $images maar alleen met $image. Wanneer ik doe is de foutmelding weg maar de id is dan nog niet zichtbaar; <img src="uploads/7/.jpg" alt="Afbeelding #">.
Wanneer ik op een kleine foto klik komt de id ook niet tevoorschijn maar komt in de broncode dit zichtbaar;
<img src="uploads/7/0.jpg" alt="Afbeelding #0">.
Het lijkt er wel op dat de standaardfoto zich laat vervangen, maar ik weet het niet zeker.
In de functie get_images($album_id) wordt als goed is $image['id'] aangemaakt.
Geef eens een print_r() op $images in die functie. Is de ['id'] dan wel gevuld?
Wanneer ik print_r($images[0]); doe krijg ik wat ik wil zien; Array ( [id] => 122 [img_name] => KONICA MINOLTA DIGITAL CAMERA_1043.jpg [album] => 7 [timestamp] => 1355299786 [ext] => jpg ).
Maar doe ik dan
Code (php)
krijg ik de volgende boodschap; Notice: Array to string conversion in /allerlei mappen/robcnossen.nl/public_html/view_album.php on line 110
Rob Cnossen op 20/02/2013 12:52:28:
Als ik print_r($images['id']); doe krijg;Notice: Undefined index: id in.
Als je nu gewoon alles wilt zien doe je print_r($images);