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.
7 svar · 680 visningar · startad av Ella
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>
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.
Hmm...nu blir jag lite fundersam över om jag ens tänker rätt...
Kan jag lagra en bild direkt i MySQL?
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 ändrad";mysql_close($conn);
?>
<form action="" method="post">
Ändra beskrivning av bild: <input type="text" name="Beskrivning" />
<input type="submit" value="Skicka ändring"/>
</form>
</body>
</html>
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?
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.)
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>