Hallo,
ich habe zwar viele Forumseinträge zu dem Thema gefunden, aber keiner konnte mir effektiv weiterhelfen. Ich probiere seit vielen Stunden rum.
Ich speicher Bilder (jpg's) in einer MySQL-DB (über Sinn und Unsinn möchte ich hier nicht diskutieren). Das Auslesen und Anzeigen der Bilder bereitet mir Schwierigkeiten.
Das Bild steht als Medium Blob in der DB-Tabelle pictures, ausserdem sind Name des Bildes, Typ, Größe und eine eindeutige ID dort verzeichnet.
Über eine andere Tabelle map lese ich die ID's der Bilder von pictures aus (Fremdschlüssel).
Hier mein Codeschnipsel: main.php
file.php:
Woran hängt es, dass mein Bild nicht dargestellt wird?
An welcher Stelle muss ich den Quellcode wie ändern?
Danke für Hilfe!
Frank
ich habe zwar viele Forumseinträge zu dem Thema gefunden, aber keiner konnte mir effektiv weiterhelfen. Ich probiere seit vielen Stunden rum.
Ich speicher Bilder (jpg's) in einer MySQL-DB (über Sinn und Unsinn möchte ich hier nicht diskutieren). Das Auslesen und Anzeigen der Bilder bereitet mir Schwierigkeiten.
Das Bild steht als Medium Blob in der DB-Tabelle pictures, ausserdem sind Name des Bildes, Typ, Größe und eine eindeutige ID dort verzeichnet.
Über eine andere Tabelle map lese ich die ID's der Bilder von pictures aus (Fremdschlüssel).
Hier mein Codeschnipsel: main.php
PHP-Code:
error_reporting(E_ALL);
$link = mysql_connect("...", "...", "...") or die("Could not connect: " . mysql_error());
mysql_select_db("db...") or die(mysql_error());
$url = ltrim ( chop( $_SERVER['PHP_SELF'], ".php" ), "/" );
$sql = "SELECT * FROM map WHERE map_url='".$url."'";
$result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
while ( $row = mysql_fetch_array($result) )
{
$sql_small = "SELECT image FROM pictures WHERE image_id=".$row[4]; // $row[4] ist der FK, ID des gewünschten Bildes
$small_pic = mysql_query("$sql_small") or die("Invalid query: " . mysql_error());
$small_pic = mysql_fetch_array($small_pic);
echo "<img src=\"file.php?image_id='".$row[4]."'\" />";
}
mysql_close($link);
PHP-Code:
error_reporting(E_ALL);
if(isset($_GET['image_id']) && is_numeric($_GET['image_id'])) {
$link = mysql_connect("...", "...", "...") or die("Could not connect: " . mysql_error());
mysql_select_db("db...") or die(mysql_error());
$sql = "SELECT image FROM pictures WHERE image_id=".image_id;
$result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
header("Content-type: image/jpeg");
echo mysql_result($result, 2);
mysql_close($link);
}
else {
echo 'Please use a real id number';
}
An welcher Stelle muss ich den Quellcode wie ändern?
Danke für Hilfe!
Frank

Kommentar