Na heel veel hulp middels dit forum heb ik al heel wat voor elkaar, maar ik loop tegen een nieuw probeem aan.
Even in het kort: Ik heb een db genaamd "artikelen" gemaakt. Deze artikelen verschijnen door een link aan te clicken op index.php op de pagina artikel.php. Op deze pagina heb ik aan de linker kant een cel waar de tekst verschijnt en aan de rechterkant worden de bijbehorende afbeeldingen geplaatst(0-10), dit gaat goed. Door op een afbeelding te clicken moet deze in image.php getoond worden. Dit lukt prima met de eerste afbeelding, omdat ik die keihard verwijs naar een afbeelding, wat uiteraardtot gevolg heeft dat alle afb. daar naar verwijzen. Ik zie niet in hoe ik in image.php moet aangeven dat ie de vergroting van de aangeclickte afb. op artikel.php moet openen.

B.t.w. Ik heb in mijn db één tabel "artikelen", hierin heb ik de afbeeldingen apart veldnamen gegeven; image001 t/m010, is dat een goed idee?

Eddie
voor elke een apparte link?
of een while lus?
Dat kan prima Eddie, ik ga er in dit (korte) voorbeeld vanuit dat je de query inleest met mysql_fetch_array:

<?
while ($afbeeldingen = mysql_fetch_array($query)){
for ($teller=1;$teller <=10;$teller++){
$afbeelding = "image00".$teller;

if ($teller == 10){
$afbeelding = "image0".$teller;
}

echo '<a href="pad_naar_images/'.$afbeeldingen[$afbeelding].'"><img src="pad_naar_thumbs/'.$afbeeldingen[$afbeelding].'"
></a>';
?>
Robert,

Ik krijg een foutmelding over een ongedefinieerde variabele in onderstaande regel:
while ($afbeeldingen = mysql_fetch_array($query)){

Ik begrijp niet wat je hiermee bedoeld:
'<a href="pad_naar_images/'
<img src="pad_naar_thumbs/

In de db-tabel "artikelen" heb ik bij elk artikel 10 velden met verwijzingen naar afbeeldingen gemaakt.(ik zou ook 20 kunnen doen; imagesmall001 -010 en imagebig001-010).

De afbeeldingen zelf heb ik in de map images/artikel... gezet. Dat moet haast wel, want als ik honderd artikelen heb, heb ik ook 100 x 10 afbeeldingen.

Ik vind het wat lastig om uit te leggen, misschien ben ik wat onduidelijk. In het kort komt het er op neer dat de aangeclickte afbeelding zijn vergrootte versie in een nieuw venster moet openen. Als dat niet kan, maar het wel mogelijk is dat ie zichzelf in een nieuw venster opent zou het ook heel mooi zijn,

Eddie
Robert
Dat kan prima Eddie, ik ga er in dit (korte) voorbeeld vanuit dat je de query inleest met mysql_fetch_array:


'<a href="pad_naar_images/'
<img src="pad_naar_thumbs/
Is gewoon waar je gewone plaatjes en je thumbs staan


Mijn images staan voor artikel001 in images/artikel001, voor artikel002 in images/artikel002, enz. Dan werkt het volgens mij niet, hoewel ik hoop dat ik er naast zit.

Bovendien gebruik ik geen thumbs, ik heb dezelfde afbeeling in 2 formaten; imagesmall... en image...
Is dat wel handig?

Eddie
Hoi Eddie,

het is nooit handig om afbeeldingen door je browser te laten verkleinen. Je kunt beter aparte thumbs maken.

Stel je maar eens voor als je een pagina wilt laden met 40 kleine afbeeldingen er op. Dan moet je browser 40 grote afbeeldingen inladen. Ik zorg er altijd voor dat als ik bijv dit doe:

<img src="plaatje.jpg" width="120" height="80">

het plaatje ook echt die hoogte en breedte heeft.
Ja hoor eddie dat kan prima, en dat van die map is helemaal niet moeilijk:
<?
// denk dat die $query niet kan vinden, maar dat is
// voor jou de variabele waarin je de query uit hebt
// gevoerd. (bijv. $var=mysql_query($sql))
while ($afbeeldingen = mysql_fetch_array($query)){
for ($teller=1;$teller <=10;$teller++){
$afbeelding = "image00".$teller;

if ($teller == 10){
$afbeelding = "image0".$teller;
}
// doe bij die img src= wel ff zodat die de imagesmall pakt
echo '<a href="images/$afbeelding/'.$afbeeldingen[$afbeelding].'"><img src="images/$afbeelding/'.$afbeeldingen[$afbeelding].'"
></a>';
?>
Het spijt me, ik kom er echt niet uit. Onderstaande staat op mijn artikel.php:
<?php

if(isset($_GET['recordid']) && is_numeric($_GET['recordid']))//is er een nummer meegegeven?
{
if($query = mysql_query("SELECT * FROM artikelen WHERE recordid = ".$_GET['recordid']))
{
if(mysql_num_rows($query) > 0)//zijn er artikelen met dat nummer?
{
$artikel = mysql_fetch_assoc($query);//nu niet in een while-lus. Er is maar 1 resultaat.
echo '<table width="760">';
echo '<tr>';
echo '<td CLASS="artikel">';
echo '<h1>'.$artikel['title'].'</h1>';
echo '<small>'.$artikel['date'].'</small>';
echo '<p>'.$artikel['artikeltekst'].'</p>';
echo '<td CLASS="artikelimage">';
echo '<p> <a href="image.php?recordid='.$artikel['recordid'].'"><img src='.$artikel["imagesmall001"].'></A></p>';
echo '<p> <a href="image.php?recordid='.$artikel['recordid'].'"><img src='.$artikel["imagesmall002"].'></A></p>';
echo '</tr>';
echo '</td>';
echo '</table>';
}
else
{
echo 'Artikel "'.$_GET['recordid'].'" bestaat niet';
}
}
}
else
{
header('Location: index.php');//geen nummer? Dan maar naar de lijst
}
?>

De regels:
echo '<p> <a href="image.php?recordid='.$artikel['recordid'].'"><img src='.$artikel["imagesmall001"].'></A></p>';
echo '<p> <a href="image.php?recordid='.$artikel['recordid'].'"><img src='.$artikel["imagesmall002"].'></A></p>';
heb ik er handmatig ingezet. Ik had het idee er 10 in te zetten, omdat het aantal afbeeldingen varieert van 0-10. Nu blijkt dat ik op pagina's waar bv 2 afbeeldingen geladen worden er 8 lege "vakken" opkomen, had ik achteraf kunnen nagaan maar ja....

Wat de bedoeling is is dat de cel het aantal afbeeldingen(imagesmall001-10 laat zien dat in het record van mijn db staan. Daarnaast wil ik graag dat wanneer je deze opent image001-010 in image.php opent. Met de code in bovenstaande reacties kom ik er niet uit,

Eddie
Het werkt nog steeds niet. Mijn code ziet er als volgt uit:

<?php
include('dbase.php');
$dbh=mysql_connect("$dbhost","$dbuser","$dbpass");
?>
<?php
mysql_select_db("247ff") or die ("Kan de database niet openen");
?>

<?php

if(isset($_GET['recordid']) && is_numeric($_GET['recordid']))//is er een nummer meegegeven?
{
if($query = mysql_query("SELECT * FROM artikelen WHERE recordid = ".$_GET['recordid']))
{
if(mysql_num_rows($query) > 0)//zijn er artikelen met dat nummer?
{
$artikel = mysql_fetch_assoc($query);//nu niet in een while-lus. Er is maar 1 resultaat.
echo '<table width="760">';
echo '<tr>';
echo '<td CLASS="image">';
echo '<h1>'.$artikel['title'].'</h1>';
echo '<p> <a href="artikel.php?recordid='.$artikel['recordid'].'"><img src='.$artikel["introimage"].'></A></p>';

echo '</tr>';
echo '</td>';
echo '</table>';
}
else
{
echo 'Artikel "'.$_GET['recordid'].'" bestaat niet';
}
}
}
else
{
header('Location: index.php');//geen nummer? Dan maar naar de lijst
}
?>

In mijn browser verschijnt de volgende melding:

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\artikel001.php:11) in c:\program files\easyphp1-8\www\artikel001.php on line 94

Zou iemand me willen helpen?

Eddie

Reageren