Hallo ik ben begonnen aan een nieuwsscript. Alles ging goed tem het uploaden van foto"s maar nu wil ik die ook weergegeven krijgen in de tabel. Maar ik zie niet goed in hoe ik dit moet doen. Ik heb met opzet de id van het nieuwsberiht in de filename van de photo geknald, maar hoe krijg ik die nu terug ?

hieronder de code van het posten van het nieuwsbericht:
<?php
else
{
$sql = "INSERT INTO nieuws (NieuwsDatum,NieuwsOnderwerp,NieuwsText) VALUES ('".$datum."','".$titel."','".$tekst."')";
$result = mysql_query($sql) or die('Kan het nieuwsbericht niet toevoegen!');
$sqlquery = "SELECT * FROM Nieuws ORDER BY NieuwsID DESC LIMIT 0,1";
$resultaat = mysql_query($sqlquery) or die('Kan het nieuwsbericht niet selecteren!');
while($line = mysql_fetch_array($resultaat, MYSQL_NUM))
{
$id = $line[0];
}
if($_FILES['afbeelding']['size'] > 0)
{

move_uploaded_file($_FILES['afbeelding']['tmp_name'], './afbeeldingen/nieuws/nieuws_'.$id. $_FILES['afbeelding']['name']);
}

echo " <h2> Het nieuwsbericht werd succesvol opgeslagen. </br>
Vanaf nu is dit bericht zichtbaar op de site., een ogenblik geduld... <META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$home."\"></h2>";
}
}

?>
en dan hier het ophalen van de berichten (laatste vijf)

<?php
$sql200 = "SELECT NieuwsDatum,NieuwsOnderwerp,NieuwsText FROM nieuws ORDER BY NieuwsID DESC LIMIT 0,5";
$query200 = mysql_query($sql200) or die(mysql_error());
while($line200 = mysql_fetch_array($query200,MYSQL_NUM))
{
// selectie omzette in variabelen
$Nieuwsdatum = $line200[0];
$NieuwsOnderwerp = $line200[1];
$NieuwsText = $line200[2];

echo '

<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" id="titelnieuws" >'.$NieuwsOnderwerp.'</td>
</tr>
<tr>
<td colspan="2" id="datumnieuws" >'.$Nieuwsdatum.'</td>
</tr>
<tr>

// HIER ZIT DUS HET PROBLEEM
<td><img src="./afbeeldingen/nieuws/nieuws_'.$id.'.'.$ext.'" alt="" /></td>
<td id="inhoudnieuws">'.$NieuwsText.'</td>
</tr>
</table>
</br>'
;

}



?>
Is het niet handiger om ook de filenaam op te slaan in het record ?
Dan hoef je niet iedere keer alles af te lopen.
Wil je toch het id hebben van het laatst ingevoegde record: gebruik dan $id=mysql_insert_id();
en als ik dat niet doe ? hoe kan ik dan mijn huidig probleem oplossen ? alvast bedankt voor je tip
Waar haal je in het 2e stukje code de variabelen $id en $ext vandaan?
Ik denk dat daar het probleem inzit.
hmmm het $id is ondertussen al opgelost in de bron ziet het er nu zo uit:

<td><img src="./afbeeldingen/nieuws/nieuws_66.Array" alt="" /></td>

dus nu nog die extensie gefixed krijgen.
Zoals Tobias al zei,
Hoe kom je aan de variabelen $id en $ext?
de $id heb ik nu opgehaald in de while

$sql200 = "SELECT NieuwsDatum,NieuwsOnderwerp,NieuwsText,NieuwsID FROM nieuws ORDER BY NieuwsID DESC LIMIT 0,5";
$query200 = mysql_query($sql200) or die(mysql_error());
while($line200 = mysql_fetch_array($query200,MYSQL_NUM))
{
// selectie omzette in variabelen
$Nieuwsdatum = $line200[0];
$NieuwsOnderwerp = $line200[1];
$NieuwsText = $line200[2];
$id = $line200[3];




maar ik vind nergens op het net tegoei hoe ik nu die $ext kan meegeven.
dus momenteel zit er niets meer in de $ext. Maar ik vind niet hoe ik de extensie KAN meegeven. Iemand dat me kan helpen ?
En als je tijdens het uploaden gewoon de filenaam van de foto opslaat in je database.
<td><img src="./afbeeldingen/nieuws/nieuws_66.Array" alt="" /></td>

Laat zien dat $ext hier een array is, je moet dus zorgen dat je de goede extensie krijgt.
Daarvoor zul je dus toch wat op moeten slaan in je database of je moet met file_exists gaan controleren voor elke extensie of er een bestand bestaat
Zoiets als:
<?php
foreach($ext as $key => $value){
    $filename = "nieuws_".$id."\.".$value;
    if(file_exists('path_naar_je_directory'.$filename)){
        echo $value;
    }
}
?>


Maar dit is minder snel dan als het gewoon in de database staat

Reageren