Zum Inhalt springen

blob


Empfohlene Beiträge

Hallo

ich lese aus der MySql- Datenbank Werte und Bilder als blob aus. Jedoch hat es in meinem script einen fehler, der die Bilder nur als ascii anzeigt und nicht als echte Bilder. Ich habe im www bis jetzt noch nicht wirklich etwas brauchbares gefunden dass mir weiterhilft!

mein code:

//Datenbank abfrage

$res = mysql_query("select * from reisemobile ORDER BY Hersteller ASC");

?>

<table border="1" cellspacing="2" cellpadding="0">

<tr>

<td><b>Hersteller</b></td>

<td><b>Modell</b></td>

<td><b>Laenge (m)</b></td>

<td><b>Motor</b></td>

<td><b>Km</b></td>

<td><b>Jahrgang</b></td>

<td><b>Ausstattung</b></td>

<td><b>Preis (Sfr.)</b></td>

<td><b>360° Bild</b></td>

<?php while($result = mysql_fetch_row($res))

{ ?>

<tr>

<td><?php echo $result[1]; ?></td>

<td><?php echo $result[2]; ?></td>

<td><?php echo $result[3]; ?></td>

<td><?php echo $result[4]; ?></td>

<td><?php echo $result[5]; ?></td>

<td><?php echo $result[6]; ?></td>

<td><?php echo $result[7]; ?></td>

<td><?php echo $result[8]; ?></td>

<?php $pic = $result[9]; ?>

<td><?php echo" <img src=\"$pic\" width=130 height=160>";?>

<?php

}

?>

</tr>

</table>

wer kann mir das Problem in rot lösen?????

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

PHP braucht auf deinem Webserver in irgendeinem Verzeichnis Schreibberechtigung. Dort erstellst du ein temporäres Bild und bindest das in deinem Script ganz normal mit img ein.


//an der roten Stelle:
<?php
$fh = fopen("/irgendwo/temp_bild.jpg","w");
if ($fh !== FALSE)
{
fwrite($fh,$result[9]);
fclose($fh);

echo "<img src=\"/irgendwo/temp_bild.jpg\"/>";
}
?>
[/PHP]

Die Fehlerbehandlung und das zufällige Auswählen des Dateinamens mußt du halt noch ergänzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Abraham,

die Referenz auf ein Bild muss eine URL enthalten und nicht die Bilddaten selber - darum wird das Bild nicht korrekt ausgegeben.

Erstelle ein zusätzliches Script welches die id des datensatzes bekommt, und sich um die Ausgabe des Bildes kümmert, z.B.:

Ich gehe mal davon aus, dass das Result-Array an 1. Stelle die ID des Datensatzes enthält ($result[0]).


<?php $picid = $result[0]; ?>

<?php echo" <img src=\"pic.php?picid=$picid\" width=130 height=160>";?>

Und im Script pic.php:

<?php


//uebergabeparameter picid abfangen

if (isset($_GET["picid"]) && !empty($_GET["picid"])) {

	$picid = $_GET["picid"];

} elseif (isset($HTTP_GET_VARS["picid"]) && !empty($HTTP_GET_VARS["picid"])) {

	$picid = $HTTP_GET_VARS["picid"];

} else {

	//hier optional code einfügen, wenn keine picid übergeben wurde

	return;

}


//datenbank abfrage

$res    = mysql_query("SELECT name_der_spalte_welches_das_bild_enthaelt FROM reisemobile WHERE name_der_spalte_fuer_id = $picid");

$result = mysql_fetch_row($res);


if (is_array($result)) {

	//bild ausgeben

	echo $result[0];

} else {

	//hier optional code einfügen, wenn das bild aus der db nicht ausgelesen wurde

}


?>

Gruß

xmurrix

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich tippe mal darauf, dass du nicht den richtigen Header gesetzt hast. PHP schickt standartmäßig text/html raus.

Damit Bilder auch als Bilder erkannt werden solltest du aber image/jpeg oder ähnliches schicken.


// so könnte der Link aussehen
<img src="bild.php?id=123" />
[/PHP]

[PHP]
// das macht dann bild.php:
header("Content-Type: image/$type");
echo $blob;

$type ist die Art des Bildes (jpeg, gif, png) und $blob deine ASCII-Bilddaten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...