---
title: "Behöver lite hjälp med ett bildgalleri"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/186226-behöver-lite-hjälp-med-ett-bildgalleri"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Mycodez"
published: "2011-03-01T17:04:04.000Z"
updated: "2011-03-02T16:36:14.000Z"
replies: 8
views: 761
page: 1
pages: 1
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/186226-behöver-lite-hjälp-med-ett-bildgalleri"
---

# Behöver lite hjälp med ett bildgalleri

## #1 — Mycodez, 2011-03-01T17:04Z

Tjena!
Jag kollat på en guide där man visar hur man lagrar bilder i detta fall i en databas "mySql-databas". men nu e det så att jag vill vissa all bilder 2 stycken i detta fall på en rad sen så går det ner tills man har nåt slut bilden.

i min databas vid namn databaseimage har jag en tabell som heter store där bilderna lagras. 
tabell store ser ut så här:

id int primary_key och a_i
name varchar(50)
image blob

scriptet nedan e det jag har gjort men det jag får inte fram något resultat i det tyvärr.
  

```php
<?php header("Content-type: image/jpeg"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php

//connect
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("databaseimage") or die(mysql_error());

$sqlCommand = "SELECT * FROM store"; 
$query = mysql_query($sqlCommand); 

$column = 2;
$x = 0;

while ($row = mysql_fetch_assoc($query)){
	$image = $row['image'];
    if($file !="." && $file != ".."){
    	echo "<table style='display:inline;'><tr><td align='center'><img src='$image' height='100' width='100' style='border:0;'></td></tr></table>";
     	$x++;

     	if($x==$column){
   			echo "<br/><br/>";
      		$x = 0;
     	}
    }
}
?>
</body>
</html>
```

Min fråga nu e då vad e det som e felet? det kanske går att göra på något enklare sätt? iså fall hur?

Tack på för hand 
Robin K.

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

## #2 — voigtann1, 2011-03-01T17:11Z

Var kommer din variabel $file ifrån? 

Vad bli det för "fel"?

Hur ser den genererade HTML koden när du kör ditt skript?

Sen för övrigt så kör inte tabeller för att rendera ut bilder, du har minst 3 element i onödan när du väl kommer rendera ut bilderna.

Sen är ju:

```
<?php header("Content-type: image/jpeg"); ?>
```

felaktigt då det inte alls är en content-typeimage/jpeg, det är ju ett HTML dokument du försöker rendera ut.

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

## #3 — Mycodez, 2011-03-01T20:43Z

Den där $file ska inte finnas där så 

\<?php header("Content-type: image/jpeg"); ?\> om detta e fel vad e det rätt alltså vad ska stå annars då?
För har jag inte den php raden så visar alla bitar som en bild e uppbygg av.  

men nu så ser scriptet ut så här:

```php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php

//connect
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("databaseimage") or die(mysql_error());

$sqlCommand = "SELECT * FROM store"; 
$query = mysql_query($sqlCommand); 

$column = 2;
$x = 0;

while ($row = mysql_fetch_assoc($query)){
	$image = $row['image'];
   
    	echo "<img src='$image' height='100' width='100' style='border:0;'>"		;
     	$x++;

     	if($x==$column){
   			echo "<br/><br/>";
      		$x = 0;
     	}
  
}
?>
</body>
</html>
```

Hur göra jag för att visa mina bilder  2 bilder per rad?

/Robin K.

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

## #4 — voigtann1, 2011-03-01T20:56Z

\<?php header("Content-type: image/jpeg"); ?\> Använder du när du skall streamar data, om $image är en ström så kommer din kod aldrig att fungera då du måste strömar innehållet. Du få ha en PHP fil som strömar datan och en som loopar igenom alla dina bilder.

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

## #5 — Mycodez, 2011-03-01T21:03Z

okej hur gör jag det??

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

## #6 — Mycodez, 2011-03-01T22:00Z

jag har löst nu så jag kan se bilderna men dock inte hela bilderna och även nu när jag laddar upp bilder som e stora i säg så visas inte hela bilderna går inte inte in databasen (tror jag för inte hela bilden visas) 

men jag tror jag löste det för jag kör med filen som jag använder när jag laddar upp bilderna till databasen. för på den sidan där man laddar upp bilder, har allt gott som det ska så visar man den bilden som har laddat upp.

index.php (där man laddar upp bilder till databasen)

```php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<form action="index.php" method="post" enctype="multipart/form-data">
File:
<input type="file" name="image" /><input type="submit" value="Upload" />
</form>

<?php
	
//connect
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("databaseimage") or die(mysql_error());

//File properties
$file = $_FILES['image']['tmp_name'];

if(!isset($file))
	echo "Please select an images";
else {
	$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
	$image_name = addslashes($_FILES['image']['name']);
	$image_size = getimagesize($_FILES['image']['tmp_name']);
	
	if($image_size == FALSE)
		echo "That's not an image.";
	else {
		if(!$insert = mysql_query("INSERT INTO store VALUES ('','$image_name','$image')"))
			echo "Problem uploading image.";
	 	else {
			$lastid = mysql_insert_id();
			echo "Image uploaded.<p />Your images:<p /><img src=get.php?id=$lastid>
			";
		}
	}
	
}
?>

</body>
</html>
```

get.php (filen som hjälper till att visa bilderna)

```php
<?php

//connect
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("databaseimage") or die(mysql_error());

$id = addslashes($_REQUEST['id']);

$image = mysql_query("SELECT * FROM store WHERE id=$id");
$image = mysql_fetch_assoc($image);
$image = $image['image'];

header("Content-type: image/jpeg");

echo $image;

?>
```

view.php (där alla bilder ska visas som finns lagrade i databasen)

```php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php

//connect
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("databaseimage") or die(mysql_error());

$sqlCommand = "SELECT * FROM store"; 
$query = mysql_query($sqlCommand); 

$column = 2;
$x = 0;

while ($row = mysql_fetch_assoc($query)){
	$image = $row['image'];
	$id = $row['id'];
   
    	echo "<img src=get.php?id=$id  width='100' style='border:0;'>"		;
     	$x++;

     	if($x==$column){
   			echo "<br/><br/>";
      		$x = 0;
     	}
  
}
?>
</body>
</html>
```

Hur bilderna ser ut när dom e listade så ser det ut då här:
<http://www.galleri.mycodez.se/hjalp/bild.html>

där hoppas jag att ni förstår vad mitt problem är.

//Robin K.

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

## #7 — danjel, 2011-03-02T15:29Z

fattar nog inte vad som inte funkar..posta genererad html annars

ett tips, använd modulus, när man ska göra något var x:e gång..

if( ($x % 2) == 0 ) echo "\<br/\>\<br/\>";

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

## #8 — Mycodez, 2011-03-02T16:10Z

hur postar man genererad html kod?
Och modulus hur funkar det?

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

## #9 — voigtann1, 2011-03-02T16:36Z

Visa källkod på din genererade php sida, där ser du vad din PHP kod har genererat.

Men jag tror mer att det ligger i att mySQL datan inte har lagrat all binärkod för bilden.

Modulo: <http://en.wikipedia.org/wiki/Modulo_operator>

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

---

Tråden på webben: https://www.webforum.nu/amne/php/186226-behöver-lite-hjälp-med-ett-bildgalleri
