---
title: "Hämta bild från mysql"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/182515-hämta-bild-från-mysql"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "emton"
published: "2010-02-21T14:26:55.000Z"
updated: "2010-07-14T16:12:35.000Z"
replies: 34
views: 2731
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/182515-hämta-bild-från-mysql"
---

# Hämta bild från mysql

_Sida 1 av 2._

## #1 — emton, 2010-02-21T14:26Z

Jag har gjort ett formulär där det ska visas en bild och lite text till den. Allt ligger i en databas. Texten är inte några problem men jag begriper inte hur kag får bilden att synas. I databasen har jag skrivit sökvägen till bilden och den kan jag få att skrivas ut 'picture' men nu är det ju inte det jag vill.

```php
echo "<table border=\"1\" cellpadding=\"10\">";
	echo "<tr><th>id</th><th>Beskrivning</th><th>Information</th><th>Bild</th></tr>";
	
		while ($row = mysql_fetch_assoc ($sql_result)) {
			echo "<tr>";
			echo "<td>" . $row['id'] . "</td>";
			echo "<td>" . $row['description'] . "</td>";
			echo "<td>" . $row['information'] . "</td>";
			echo "<td>" . $row['picture'] . "</td>";
			echo "</tr>";
	}
	echo "</table>";
```

Är det någon vänlig själ som vill hjälpa en som försöker lära sig. :)

Permalänk: https://www.webforum.nu/p/182515

## #2 — metalboy, 2010-02-21T14:28Z

Om det är sökvägen som du har sparat i databasen, så måste du ju använda HTML-taggen \<img\> för att visa den.

```php
echo "<td><img src=\"" . $row['picture'] . "\" /></td>";
```

Permalänk: https://www.webforum.nu/p/2226370

## #3 — emton, 2010-02-21T14:34Z

Du är ju en ängel!!!!! Jag tor jag hade petat in img på hur många ställen som helst men inte just så. Tack nu funkar det!
Dock uppstod direkt nästa problem, bilderna blir ju så stora. Hur skriver man för att få en viss storlek?

Permalänk: https://www.webforum.nu/p/2226372

## #4 — metalboy, 2010-02-21T14:39Z

Det bästa är ju om du ändrar storleken på bilden, men du kan styra det med HTML och även CSS om du vill det. Tänk dock på att besökaren måste ju fortfarande ladda den stora bilden då, även om den förminskas i webbläsaren.

Med HTML:

```
<img src="bild.jpg" width="200" height="100" />
```

Med CSS:

```
<img src="bild.jpg" style="width: 200px; height: 100px" />
```

Permalänk: https://www.webforum.nu/p/2226373

## #5 — emton, 2010-02-22T08:49Z

> **[metalboy skrev:](https://www.webforum.nu/p/1498392)**
>
> Om det är sökvägen som du har sparat i databasen, så måste du ju använda HTML-taggen \<img\> för att visa den.
> 
>
>
> ```php
> echo "<td><img src=\"" . $row['picture'] . "\" /></td>";
> ```

Tack för all din hjälp metalboy! Nu har jag kommit en bra bit på väg. 
Men jag ändrade lite på mig och ville ha bilderna klickbara för att komma vidare till en sida där besökaren kan ändra på infotexten. Bilden blev klickbar men kommunikationen med databasen brast och jag vet inte riktigt vad jag gör för fel. Någon som vill hjälpa mig?

```php
<?php
function visaBilder () {
	echo "<p>Klicka på bilden för att ändra bildtexten.</p>";
	
	require_once ("databas.inc");
	
	$sql = "SELECT * FROM bilder;";
	
	$sql_result = mysql_query ($sql) or die ("Query error.");
	
	echo "<form action =\"andra.php\" method=\"post\">";
	echo "<table border=\"1\" cellpadding=\"10\">";
	echo "<tr><th>id</th><th>Beskrivning</th><th>Information</th><th>Bild</th></tr>";
	
	while ($row = mysql_fetch_assoc ($sql_result)) {
			echo "<tr>";
			echo "<td>" . $row['id'] . "</td>";
			echo "<td>" . $row['description'] . "</td>";
			echo "<td>" . $row['information'] . "</td>";
			echo "<td><input type=\"image\" name=\"bild\" src=\"" . $row['picture'] . "\" /></td>";
			echo "</tr>";
	}
	echo "</table>";
	echo "<input type=\"hidden\" name=\"vill_editera\" value=\"1\" />";
	echo "</form>";
}
	
function editeraBild ($attEditera) {
	require_once ("databas.inc");

	$sql = "SELECT * FROM bilder WHERE picture=\"" . $attEditera . "\";";

	$sql_result = mysql_query ($sql) or die ("Query error.");

	$row = mysql_fetch_assoc ($sql_result) or die ("SQL Error.");
	
	echo "<form action=\"andra.php\" method=\"post\">";
	echo "<table border=\"0\" cellpadding=\"3\">";
	echo "<tr><td>Beskrivning</td> <td><input type=\"text\" name=\"description\" value=\"" . $row['description'] . "\" /></td></tr>";
	echo "</table>";
	echo "<input type=\"hidden\" name=\"bild\" value=\"" . $attEditera . "\" />";
	echo "<input type=\"hidden\" name=\"har_editerat\" value=\"1\" />";
	echo "<input type=\"submit\" value=\"KLAR\" />";
	echo "</form>";		
}
function gorEditering ($attEditera) {
	require_once ("databas.inc");

	$description			= htmlentities ($_POST['description']);
	
	$sql = "UPDATE bilder SET " .
		"description=\"" . $description . "\" WHERE picture=\"" . $attEditera . "\";";
		
	$sql_result = mysql_query ($sql) or die ("Query Error.");
	echo "<p>Bildtexten har ändrats</p>";
}

require_once ("header.inc");

if ($_REQUEST['vill_editera'] == "1") {
	
	$_REQUEST['vill_editera'] = 0;

	$attEditera = intval ($_POST['bild']);
	editeraBild ($attEditera);
}
else if ($_REQUEST['har_editerat'] == "1") {
	
	$_REQUEST['har_editerat'] = 0;

	$attEditera = intval ($_POST['bild']);
	gorEditering ($attEditera);
}
else
	visaBilder ();
?>
```

Jag kommer till "ny sida" men det står bara SQL Error.
Kan man på något sätt felsöka?

Permalänk: https://www.webforum.nu/p/2226439

## #6 — Emil W, 2010-02-22T10:02Z

Sätt 

```php
die(mysql_error());
```

 efter ($sql)

Permalänk: https://www.webforum.nu/p/2226449

## #7 — emton, 2010-02-22T11:19Z

> **[Emil W skrev:](https://www.webforum.nu/p/1498479)**
>
> Sätt 
>
> ```php
> die(mysql_error());
> ```
>
>  efter ($sql)

Det där förstod jag inte  :q. Vad har det för funktion och mer exakt var ska det in? Jag är inte så bra på detta ännu men försöker lära mig :D.

Permalänk: https://www.webforum.nu/p/2226455

## #8 — The_Hulk, 2010-02-22T12:16Z

Jag tror att han menade att du skulle byta ut 

```php
 $sql_result = mysql_query ($sql) or die ("Query error.");
```

mot

```php
 $sql_result = mysql_query ($sql) or die(mysql_error());
```

du får du ut ett bättre felmeddelandet istället för bara "Query error.".

Permalänk: https://www.webforum.nu/p/2226458

## #9 — emton, 2010-02-22T12:39Z

> **[The_Hulk skrev:](https://www.webforum.nu/p/1498489)**
>
> Jag tror att han menade att du skulle byta ut 
>
>
> ```php
>  $sql_result = mysql_query ($sql) or die ("Query error.");
> ```
>
> 
> mot
>
>
> ```php
>  $sql_result = mysql_query ($sql) or die(mysql_error());
> ```
>
> 
> du får du ut ett bättre felmeddelandet istället för bara "Query error.".

Fast det blev samma sak.  det är ju denna rad som skriver ut felmeddelandet

```php
$row = mysql_fetch_assoc ($sql_result) or die ("SQL Error.");
```

Permalänk: https://www.webforum.nu/p/2226459

## #10 — emton, 2010-02-22T12:44Z

Och om jag lägger in det där i stället blir det bara tomt.

Permalänk: https://www.webforum.nu/p/2226460

## #11 — Emil W, 2010-02-22T15:32Z

> **[The_Hulk skrev:](https://www.webforum.nu/p/1498489)**
>
> Jag tror att han menade att du skulle byta ut 
>
>
> ```php
>  $sql_result = mysql_query ($sql) or die ("Query error.");
> ```
>
> 
> mot
>
>
> ```php
>  $sql_result = mysql_query ($sql) or die(mysql_error());
> ```
>
> 
> du får du ut ett bättre felmeddelandet istället för bara "Query error.".

The_Hulk hade rätt det var så jag menade.

Permalänk: https://www.webforum.nu/p/2226464

## #12 — emton, 2010-02-22T15:47Z

Ja tack, men det blir ingen skillnad. Det står precis samma sak ändå.

Permalänk: https://www.webforum.nu/p/2226467

## #13 — metalboy, 2010-02-22T15:58Z

Gissningsvis får du inte ut några rader från SQL-frågan, dvs inga rader matchar din fråga. Kolla detta enkelt genom att skriva ut resultatet av [mysql_num_rows()](http://www.php.net/mysql_num_rows) efter ditt anrop till [mysql_query()](http://www.php.net/mysql_query).

Permalänk: https://www.webforum.nu/p/2226468

## #14 — emton, 2010-02-22T19:28Z

Nä det är helt riktigt, jag får inte ut några rader, sidan blir helt blank. Hur ska jag skriva det du sa?

Permalänk: https://www.webforum.nu/p/2226485

## #15 — The_Hulk, 2010-02-23T07:23Z

Din loop över alla bilder är nog inte helt rätt.
Du skapar flera input-taggar med namnet "bild" vilket inte kommer att bli rätt. Du för gör om din kod för att välja vilken bild som ska editeras. Förmodligen får du inte med dig någon bildid när du väljer att editera bilden.

```php
    while ($row = mysql_fetch_assoc ($sql_result)) {
            echo "<tr>";
            echo "<td>" . $row['id'] . "</td>";
            echo "<td>" . $row['description'] . "</td>";
            echo "<td>" . $row['information'] . "</td>";
            echo "<td><input type=\"image\" name=\"bild\" src=\"" . $row['picture'] . "\" /></td>";
            echo "</tr>";
    }
```

du skulle kunna ändra det till

```php
    while ($row = mysql_fetch_assoc ($sql_result)) {
            echo "<tr>";
            echo "<td>" . $row['id'] . "</td>";
            echo "<td>" . $row['description'] . "</td>";
            echo "<td>" . $row['information'] . "</td>";
            echo "<td><a href='andra.php?vill_editera=1&bild=" . $row['id'] . "'><img src='" . $row['picture'] . "'/></a></td>";
            echo "</tr>";
    }
```

/red kodrättning
/red 2, lite mer rättningar

Permalänk: https://www.webforum.nu/p/2226528

## #16 — emton, 2010-02-23T08:12Z

Aha! Det ligger nog mycket i det du säger med bildid. Tyvärr så funkade det inte med ditt förslag The Hulk. Det visas ingen bild. Jag har försökt att vända och vrida men finner inte någon lösning.

Permalänk: https://www.webforum.nu/p/2226535

## #17 — The_Hulk, 2010-02-23T09:43Z

Jag hade missat ett tecken (') i koden i slutet på a-taggen, testa den nu och se om det fungerar.

Permalänk: https://www.webforum.nu/p/2226555

## #18 — emton, 2010-02-23T10:23Z

Ok då gick det lite framåt! Bilderna visas som kryss men de är klickbara. Om jag klickar på krysset så försöker den öppna bilden men sökvägen blir fel, internetadress + vill_editera=1&?bild= internetadressen igen. 
Nu var det ju inte tänkt att bilden skulle öppnas utan att man skulle komma till nästa del i koden, att ändra bildtexten.

Permalänk: https://www.webforum.nu/p/2226565

## #19 — The_Hulk, 2010-02-23T10:29Z

Har rättat lite mer i koden ovanför. Om du får mer fel klistra gärna in den genererade html-koden, då är det lättare att hitta felen :)

Permalänk: https://www.webforum.nu/p/2226566

## #20 — emton, 2010-02-23T13:51Z

Rsultatet blev att bilden syns och jag kommer till rätt sida men det är SQL Error, så lite tillbaka på ruta 0.

Permalänk: https://www.webforum.nu/p/2226588

---

Tråden på webben: https://www.webforum.nu/amne/php/182515-hämta-bild-från-mysql  
Nästa sida: https://www.webforum.nu/amne/php/182515-hämta-bild-från-mysql/page2.md
