Mal allgmeine Frage zur Bildanzeige aus sqldb

Hi! Hatte ja gestern das Prob, ein Bild aus der BD anzuzeigen. Das funzt ja jezte. Aber wie kann ich das Bild nun in einer Tabelle in einer anderen Datei unterbringen? Allgemeine Frage deswegen, da ich noch nichtmal ein code-ansatz habe. Wenn ich meine Datei die das Bild anzeigt mit include einbind, gehts ja nicht, da ich weitere ausgaben mit echo habe. Somit bringt ja der header(Content-type) ein error. Hat te jemand das gleiche Prob? Oder hat jemand ein beispielcode ?

Wäre echt supi wenn ihr mir helfen könnt :wink:

Inline-Grafiken in HTML

Ich habe erst gestern damit mal gespielt, mit einem via ESCAPE in einem BYTEA untergebrachtem Bild.

function ShowImage($Conn, $image)
{
  $Query = "select content from ... where ... $image;";
  $result = pg_query($Conn, $Query);
  $array = pg_fetch_array($result, 0);
  return "<img src=\"data:image/jpg;base64," . base64_encode(pg_unescape_bytea($array["content"])) . "\">";
}


$content = ShowImage($Conn);

echo "bla<p>";

echo $content;

echo "foo<p>";

Alles ohne Fehlerbehandlung, und man könnte es natürlich gleich mit Base64 im BYTEA unterbringen.



Das als eine Lösung. Aber Du bist hier massiv falsch, weil das ist kein Problem von PostgreSQL oder SQL überhaupt.

Andreas

Danke üfr deine Antwort :slight_smile: . Aber igrendwas mach ich falsch.

function ShowImage($Conn, $Image)
{
$Query = “select $Image from $Conn”;
return “<img src=“data:image/jpg;base64,” . base64_encode(pg_unescape_bytea(“Bild”)) . “”>”; }

$content = ShowImage(‘Bilder’,‘Bild’);

echo “bla

”;

echo $content;

echo “foo

”;

fehlermeldung habe ich kein. Aber bild wird nicht angezeigt.

Das sauberste ist es, eine eigene PHP-Datei für das Bild zu machen, mit Content-Type das als Bild ausgeben und dann dort, wo das Bild angezeigt werden soll, ein zu machen.

Ja. Eine ganze Menge, wenn das Dein echter Code ist. Zu viel, um es hier zu erklären. Du hast offensichtlich keinerlei Plan, weder von SQL noch von PHP. Du führst die Abfrage ja nicht einmal aus, und ob die Variablen einen gültigen Wert haben, ist auch zweifelhaft. Und man selekted auch nicht von einer Variablen, die eine Verbindung zu einer DB darstellt. Kurz gesagt: es ist hoffnungslos.



Andreas

Ja stimmt ich habe 0 Plan! Aber kannst wenigstens ein paar fragen beantworten deim Code von Oben? Bitte,Bitte,…

function ShowImage($Conn, $image) Was muss in Conn? $Image ist sicher name des Bildfeldes in meiner Tabelle?
{
$Query = “select content(Sicher Bildfeld?) from (Sicher die tabelle?) Brauch dich das?–>where … $image;”;
$result = pg_query($Conn, $Query); Was ist Query?
$array = pg_fetch_array($result, 0); Das sagt mir nicht wirglich was :wink:
return “<img src=“data:image/jpg;base64,” . base64_encode(pg_unescape_bytea($array[“content”])) . “”>”; Ist mir mal klar :smiley:
}


$content = ShowImage($Conn); Muss hier der Feldname meiner Tabelle rein? Und er nörgelt das da nur 1 Argu ist…er will 2
Der rest ist mir auch klar :slight_smile:
echo “bla

”;

echo $content;

echo “foo

”;

Wir sind hier in einem für PostgreSQL spezialisierten Forum. Wir sind keine PHP Experten… In einem entsprechenden richtigen Forum wirst du sicher eine antwort bekommen…

Unser Partnerforum: Developer’s Guide - Hilfeforen für Entwickler

cu tb.

Mal davon abgesehen versuchst Du wahrscheinlich mit PostgreSQL PHP Funktionen auf eine MySQL-Datenbank zuzugreifen und das geht ja mal sowieso grundsätzlich überhaupt gar nie nicht.

Okay, da war auch ein Fehler von mir, weil ich das nach dem Copy&Paste noch verändert habe. Der 2. Parameter sollte die ID des Bildes sein, welches angezeigt werden soll.

Aber ansonsten: siehe Antwort von Xandrian.

Andreas

Wie du kannst mir meine Frage zu dein eigenen code nicht beantworten :frowning:

Selbst wenn er die Fragen beantwortet: du hast leider keinen Plan, was du da tust.

Bitte bitte nimm ein Buch zu PHP und ein anderes zu Datenbanken in die Hand und lies dir das erst mal durch!

Und dann verstehe bitte endlich dass du hier in einem Forum zu einer Datenbank bist, die du nicht benutzt. Kurz: PostgreSQL != MySQL. Das sind beides verschiedene Datenbanken. Wenn du versuchst mit Funktionen für PostgreSQL zu arbeiten aber eine MySQl Datenbank nutzt wird das nicht funktionieren. Niemals.