Bilder aus Datenbank auslesen :|

Tsa

Mitglied
Hey Leute,
2 Sachen vorweg:
Ich hab mehr als lange gesucht und viel gefunden, was nicht funktioniert ;)
Ich weiß, dass man es eigentlich nicht tun sollte!

ok, nun zum Problem *g*
ich will die Bilder auslesen und habe dazu folgendes script im Internet gefunden:

PHP:
<?php

// getdata.php3 - by Florian Dittmer <dittmer@gmx.net>
// Example php script to demonstrate the direct passing of binary data
// to the user. More infos at http://www.phpbuilder.com
// Syntax: getdata.php3?id=<id>
function bild($id)
{
	if(isset($id))
	{
    // you may have to modify login information for your database server:
    	include("sql/config.php");
		include("sql/connect.php");

    	$query = "select bin_data,filetype from binary_data where id=$id";
    	$result = @MYSQL_QUERY($query);

    	$data = @MYSQL_RESULT($result,0,"bin_data");
    	$type = @MYSQL_RESULT($result,0,"filetype");

    	Header( "Content-type: $type");
    	return $data;

	};
}
?>

Ich habe es leicht verändert! Das Original hat ein echo statt return und ist nicht als Funktion geschrieben. Aber es hat auch vorher nicht funktioniert! ;)
Die Datenbank ist genau so, wie sie sein soll, das auslesen scheint auch zu funktionieren! Das mache ich folgendermaßen:
PHP:
<?
	error_reporting(E_ALL); 
	include('../config.php');
	include('../connect.php');
	include('bilderAuslesen.php');
	
	$abfrage = "SELECT bildid FROM bilderZuVersuchen WHERE versuchid=$versuchid";
	
	$ergebnis = mysql_query($abfrage) or die (mysql_error());
	while($row = mysql_fetch_object($ergebnis))
	{
		Header( "Content-type: $type");
    	echo "<img src='". bild($row->bildid)  ."'>";
				
	}
?>
Die Bilder sind per foreign keys Versuchen zugeordnet! Also 1 Bild kann mehrere Versuche haben und 1 Versuch kann mehrere Bilder haben!
Das Problem ist nun die Ausgabe, heraus kommt nämlich:
http://suspicionless.su.funpic.de/sql/anzeigen/bilder.php?versuchid=2

Der Quelltext ist eine wirre Zeichenabfolge, was auf das Bild schließen lässt, es ist sogar erwähnt, dass das bild mit photoshop gemacht ist, aber angezeigt wird nichts!

WAs ich nicht verstehe ist, dass es mal funktioniert hat, aber selbst im ausgangszustand nicht mehr funktioniert und selbst als es funktioniert hat, hat es immer nur ein Bild ausgegeben! Auch wenn zu dem gleichen versuch 2 Bilder gespeichert waren!

Ich hoffe mir kann wer helfen :(
Liebe Grüße,
Jens
 
Hi,

Du bringst da einiges völlig durcheinander.
Das Script, das Du da verlinkt hast, gibt kein Bild aus, sondern ein <img>-Tag. Noch dazu ein <img>-Tag, in dessen src-Attribut einfach die Bilddaten stehen. Dafür aber mit jpeg-Header, statt mit text/html.
Wenn Du das so machen wolltest, müsstest Du das data URI scheme benutzen.
Oder Du versetzt das Script in den Originalzustand und bindest die Bilder in Deiner Schleife so ein:

PHP:
echo "<img src='bilderAuslesen.php?id=". $row->bildid  ."'>";

LG
 
Zurück