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;
<?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="" />';
}
?>
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