Ik ben nieuw hier en dit is tevens mijn eerste vraag in het forum:

Ik wil graag een afbeelding laten zien van bijvoorbeeld id=1.
Ik heb een tabel als naam P_img. (varchar).
Daar staat in: plaatje.jpg
Met een query roep ik alle data op.

Heb vanalles geprobeerd, maar of ik krijg niets te zien of alleen een kruisje. Misschien heeft iemand een kleine tip voor me.

(zal vanavond de code plaatsen die ik heb geprobeerd, zit nu namelijk op mijn werk)

ik wacht op de code Sander :)
Bas uit mij hoofd was dit de code:

while($data = mysql_fetch_array($query) {

$img = "";
if($img['P_img']) "<img src=\"/images\" . $data['P_img"] . ">";
echo $img;

}

(dit is uit me hoofd, dus niet op typefouten letten ben nog maar een newby)

Wat doe ik fout, of moet ik een andere manier verzinnen? Als ik het op deze manier doe krijg ik alleen een kruisje te zien.
je moet er een header bij maken die zegt dat het een plaatje wordt.

Mijn code:
<?php
// show_img.php
mysql_connect("host", "user", "pass");
mysql_select_db("images");
$query = "SELECT name, type, length, file FROM images WHERE id=" . $_GET[id];
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {

header("Content-Length: " . $row[length] . "\nContent-Type: " . $row[type]);
print $row[file];
}
?>

Uiteraard kan je de array ook veranderen in een object oid ;)

--- edit ---

Dat betekent dus ook dat je het type en size en dergelijke ook moet opslaan in je database. Dat doe je met $_FILES["bestandsnaam"]["size"], $_FILES["bestandsnaam"]["tmp_name"]. Google even welke superglobalen je er allemaal voor hebt. Op phpfreakz.nl stonden daarover meerdere goede tutorials.
Het plaatje oproepen kan je doen via show_img.php?id=1 (dus GET).

Succes

--- einde edit ---
Volgens mij wil hij gewoon een <img src=".."> maken met daarin een variabel plaatje, wat dus per ?id=.. verschillend is.

Dan zou dit:

<?
while($data = mysql_fetch_array($query) {

$img = "";
if($img['P_img']) "<img src=\"/images\" . $data['P_img"] . ">";
echo $img;

}
?>

Iets moeten worden als:

<?
while ($data = mysql_fetch_object($query)) {
if (isset($img['P_img']) && !empty($img['P_img'])) {
echo '<img src="/images'.$data->P_img.'">';
}
}
?>

Maar ik snap niet goed wat je wil doen met if($img['P_img']).. Ik gok er maar op dat $img een array is waar de waarde uit de database ook in voor moet komen ofzo...beetje vaag.
Maar ik snap niet goed wat je wil doen met if($img['P_img']).. Ik gok er maar op dat $img een array is waar de waarde uit de database ook in voor moet komen ofzo...beetje vaag.



Controleren of de variabele bestaat, alleen ik denk dat ie:

if($data['P_img'])

bedoeld ipv van:

if($img['P_img'])[/quote]
Ja wat de regel doet snap ik :)
Maar waarom de regel er staat snap ik niet. Omdat hij daarvoor $img = ""; gebruikte en het dan ineens een array is maar met dezelfde 'P_img' als bij $date['P_img']...
Maar hij zei: "Ik wil graag een afbeelding laten zien van bijvoorbeeld id=1"? Dan heb je toch geen random plaatje. Met de code die ik poste kan je ook bijvoorbeeld links maken met ?id=1, ?id=2 etc.
Alleen niet in een <img src=""> maar met een pagina.

En dan heb je toch ook nog een header nodig? Of ben ik nu verkeerd? :s
Dat klopt. Maar dat is niet wat hij wil. Hij post zoals het hoort een gedeelte van het script. $query is de variabele waarin de database gegevens die hij opvraagt al staan.
Hij geeft zelf in zijn script aan dat hij <img> wil gebruiken dus is het wel zo handig ook op die manier te antwoorden :)
Puntje ;)
Maar zelf had ik ook dat ik een plaatje uit een database wilde halen en - vanzelfsprekend - dacht ik ook dat dat het makkelijkst was met een img tag. Ik kwam er echter achter dat het makkelijker is met de code die ik post (vind ik dan he ;)).
Uit het feit dat hij zei dat hij vanalles had geprobeerd om tot een oplossing te komen, concludeerde ik dat het niet specifiek een img tag moest zijn.
Maar als het op die manier ook kan is het ook goed natuurlijk! Was er zelf nog nooit achter gekomen dat dat kon :)
:) Jouw manier is idd (vind ik iig) handiger en ziet er stoerder/professioneler uit (ook belangrijk he :P:))
We horen wel wat zijn reactie is :)

Reageren