| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

29-11-2004, 17:16
|
|
BlackCrow
Newbie
|
|
Registriert seit: Nov 2004
Beiträge: 20
|
|
Bilder aus einer MySQL Datenbank auslesen
Moin zusammen,
ich habe da nen kleines Problem.
Für eine Restaurantseite sollen im Admontool die Bilder verwaltet werden. Da der Chef des Restaurants keine Ahnung von HTMl oder ähnlichen hat, habe ich ihm ein kleines Admintool geschrieben. Dort soll er nun auch seine Bilder selber hochladen/löschen können.
Gespeichert werden die Bilder in einer MySQL Datenbank, das klappt auch alles bestens.
Nun habe ich ein kleines Script geschrieben, mit dem ich die Bilder auch wieder auslesen kann. Das haut auch alles hin, aber ich habe Probleme mit dem Header, wenn ich das Script in die Seite einbauen will.
Mein Script zum auslesen der Bilder aus der Datenbank:
Zitat:
<?php
require ('./connect.inc.php');
if($modul ==2)
{
$zeiger=mysql_query("select bin_data from binary_data where id=$id");
$ergebnis=mysql_fetch_array($zeiger);
print $ergebnis['bin_data'];
}
if($modul ==3)
{
$zeiger=mysql_query("select bin_data from binary_data where id=$id");
while($ergebnis=mysql_fetch_array($zeiger))
{
print $ergebnis['bild'];
}
}
?>
|
Wie gesagt, das klappt alles, aber auch nur auf einer "Blanko" Seite, denn sonst macht er mir Probleme mit dem Header. Das Resultat ist, daß ich das Bild Binär im Browser angezeigt bekomme.
Hat jemand eine Idee oder sowas schonmal gemacht?
Gruß
Miguel
|

29-11-2004, 17:20
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Re: Bilder aus einer MySQL Datenbank auslesen
Zitat:
Original geschrieben von BlackCrow
Hat jemand eine Idee oder sowas schonmal gemacht?
|
beides
und nicht nur ich alleine, sondern so viele leute, dass auch die suchfunktion was zutage bringen sollte
du kannst, auch wenn du der 1.000.000.000.000.000.000te bist, nicht html und bilddaten mischen
Code:
<p>text</p>
<img src="skript_zur_bildanzeige.php?bildid=5" />
<p>mehr text</p>
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

29-11-2004, 20:08
|
|
BlackCrow
Newbie
|
|
Registriert seit: Nov 2004
Beiträge: 20
|
|
Ok, die Idee war schonmal sehr gut, aber ich bekomme lediglich ein x angezeigt, also hat da schonmal was nicht geklappt. Muss man dafür vielleicht das Bild in einem bestimmten Format oder so speichern?
Gruß
Miguel
P.S. Ich habe bereits die Suchfunktion benutzt und nichts gefunden was mir helfen konnte. Deswegen habe ich direkt einen Beitrag geschreiben.
|

29-11-2004, 20:10
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.455
|
|
hast du auch einen passenden Content-type header vor den bilddaten ausgegeben ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

29-11-2004, 20:10
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
code zeigen
|

29-11-2004, 20:17
|
|
BlackCrow
Newbie
|
|
Registriert seit: Nov 2004
Beiträge: 20
|
|
Naja ich kann ja keinen anderen Header senden, der Header ist ja schon text/html weil ich den brauche um den Rest der Page richtig anzuzeigen.
Der Code sieht aktuell so aus:
Zitat:
if($id) {
require ('./connect.inc.php');
@mysql_select_db("binary_data");
$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: $filetype");
echo "<p>text</p><img src='upload.php?modul=2&id=5'</img>
<p>mehr text</p>;";
};
?>
<br><br>
<p>text</p>
<img src="./upload.php?modul=2&id=5" />
<p>mehr text</p>
|
Und das ist die aus dem eigenen Script, welches die Daten auslesen soll:
Zitat:
<?php
require ('./connect.inc.php');
if($modul ==2)
{
$zeiger=mysql_query("select bin_data from binary_data where id=$id");
$ergebnis=mysql_fetch_array($zeiger);
print $ergebnis['bin_data'];
}
if($modul ==3)
{
$zeiger=mysql_query("select bin_data from binary_data where id=$id");
while($ergebnis=mysql_fetch_array($zeiger))
{
print $ergebnis['bild'];
}
}
?>
|
Sieht alles etwas wirr aus, weil vieles doppelt ist, aber das mache ich immer wenn ich mit irgendetwas Probleme habe.
Gruß
Miguel
|

29-11-2004, 20:30
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
upload.php darfst du nur verwenden, um das bild auszugeben und da kannst du natürlich einen content-type angeben, das ist je eine eigene datei und hat nichts mit der datei, in der du den img-tag hast, zu tun
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

29-11-2004, 20:47
|
|
BlackCrow
Newbie
|
|
Registriert seit: Nov 2004
Beiträge: 20
|
|
Ok, das habe ich nun verstanden, aber wie sieht das aus, wenn ich das später auf der Homepage anzeigen lassen will? Also ne ganz normale Seite mit Hintergrundgrafik und sowas. Da muss das Bild ja auch angezeigt werden wie soll ich das denn machen? Da kann ich das ja nicht mit upload.php machen. Sprich er muss das Bild aus der Datenbank irgendwie raus bekommen, und auch als Bild auf der Homepage anzeigen.
Ich vermute bald, daß das nicht geht, hab ich recht?
Gruß
Miguel
|

29-11-2004, 20:51
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.455
|
|
das hatten wir doch aschon x-mal ...
du machst dir ein script, welches die bilddaten aus der DB ausliest, und nach entsprechendem content-type header ausgibt.
welches bild auszugeben ist, lässt sich ja beispielsweise über einen übergebenen parameter steuern.
und dann bindest du das bild halt über
<img src="bildscript.php?bildid=4711" ...>
oder in CSS über
background-image:url(bildscript.php?bildid=4711)
ein.
wo ist denn da jetzt bitte das problem ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|