webForumDet fria alternativet

Visa bild från databas

PHP

7 svar · 680 visningar · startad av Ella

Medlem sedan mars 200927 inlägg
Frågan#1

Hej,

i min databas har jag ID, beskrivning, bildinformation och bild(http://****/~****/bild.JPG). Försöker komma underfund med hur jag med hjälp av php visar bilden. Sedan ska också beskrivning och bildinformationen visas.

Börjat lite men hittar dåligt med info om hur man visar bilden? MVH // Ella

<?php
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head><title>Uppgift2</title></head>
<body>

<?

 $host="hostname"; 
 $userName="***"; 
 $password="***"; 
 $db="***"; 

$conn = mysql_connect("localhost", $userName, $passWord);
mysql_select_db($DB);
$sql = mysql_query("SELECT * FROM picture");
while($result = mysql_fetch_array($sql)) {
echo " <b>Beskrivning:</b> = " .$result["Beskrivning"] . " <br>";
echo " <b>Bildinformation</b> = " .$result["Bildinformation"] . " <br>";
echo " <b>Bild</b> = " .$result["Bild"] . " <br>"; 
} 
?>

</body>
</html>
Medlem sedan mars 2007845 inlägg
#2

Om vi utgår från att $result["Bild"] innehåller rätt sökväg till bilden så är det <img /> du ska titta på.

Sen ska du inte använda citationstecken " om php inte ska parsa strängen. Använd enkelflärp ' istället. Det körs snabbare.

Medlem sedan mars 200927 inlägg
#3

Hmm...nu blir jag lite fundersam över om jag ens tänker rätt...

Kan jag lagra en bild direkt i MySQL?

Medlem sedan mars 200927 inlägg
#4

Vet inte om det klart visas vad jag är ute efter men något liknande detta:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head><title>Uppgift2</title></head>
<body>

<?
$conn = mysql_connect('localhost','***','***');
if (!$conn)
{
die('Kunde inte ansluta: ' . mysql_error());
}mysql_select_db('***', $conn);

$sql = mysql_query('SELECT * FROM picture');
while($result = mysql_fetch_array($sql)) {
echo " <b>Beskrivning:</b> = " .$result['Beskrivning'] . " <br>";
echo " <b>Bildinformation</b> = " .$result['Bildinformation'] . " <br>";
echo " <b>Bild</b> = " .$result['Bild'] . " <br>";
echo " <b><img src="http://****/~****/bild.JPG"
} 

$Sql="INSERT INTO picture (Beskrivning) VALUES ('$_POST[Beskrivning]')";if (!mysql_query($Sql,$conn))
{
die('Fel: ' . mysql_error());
}
echo "Beskrivning i databas &auml;ndrad";mysql_close($conn);

?>

<form action="" method="post">
&Auml;ndra beskrivning av bild: <input type="text" name="Beskrivning" />
<input type="submit" value="Skicka &auml;ndring"/>
</form>
</body>
</html>
Medlem sedan mars 2007845 inlägg
#5

Det är inte bilden du ska spara i databasen utan adressen till bilden. Själva bildfilen sparar du direkt på disken.

Använd inte <?. Det är inte alla servrar som tolkar det som php. Använd <?php istället.

Vad innehåller $result['Bild']? Är inte det sökvägen till bilden?

Medlem sedan mars 200927 inlägg
#6

Jo, precis, det är sökvägen till bilden, den är http://tor.ei.hv.se/~webbHT08VT09063/bild.jpg. Den ligger på WinSCP som jag använder för att publicera mina filer för tillfället.

(Insåg också att jag hade använt <? och det var en miss...det är ändrat.)

Medlem sedan mars 2007845 inlägg
#7

WinSCP är en FTP-klient. Men jag antar att det betyder att du använder den för att lägga bilderna på någon server.
Ändra

echo " <b>Bild</b> = " .$result['Bild'] . " <br>";

till

echo '<b>Bild</b> = <img src="' . $result['Bild'] . '" /><br />';

Eftersom du valt att använda XHTML 1.0 Strict så ska du också ändra <br> till <br /> och <b></b> till <strong></strong>

Medlem sedan mars 200927 inlägg
#8

Helt fantastiskt att äntligen få till det... :)

Tack!!!

Ella

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)