php script för bildvisning

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Sundsvall
  • 2007-03-08 12:37

Hej!
Jag vill kunna välja från select menyn ett datum och klicka på visa knappen sedan för att visar bilderna för det datumet.

Skulle ni kunna förklara för mig hur jag kan gå till väga för att åstadkomma detta?
Jag har ingen aning om hur man kan fixa detta, men jag skulle helst vilja göra det med hjälp av php. Behövs en databas som innehåller bilderna?

<html>

<head>

<title>Bilder</title>
<link href="ukf.css" rel="stylesheet" type="text/css"></link>

</head>

<body>





<div id="bildsidan">Bilder tagna från olika fester som UKF har arrangerat.<br />

Välj från listan nedan vilket datum festen arragerades så visas bilderna som du kan<br />
 klicka på för att få se de i större format.<br />
 


<form action="thumbs.html" target="thumbs">

<select class="select" name="datum">

 <option selected="selected">Välj datum</option>

 <option value="v1">2006-12-24</option>

</select>


<input type="submit" value="Visa bilderna" />

</form>
</div>

<iframe id="thumbs" scrolling="auto"></iframe>


</body>

</html>

Jag skulle då göra det i en databas.
Göra en sökning mot databasen med det datum du vill ha bilder från och sedan "skriva" ut de bilderna på en sida.

Exakt hur jag skulle lösa detta är lite svårt så här. Jag skulle säkerligen snåra in mig i någon slags ajax-lösning men det ska jag inte ta med här.

I <form action="thumbs.html" target="thumbs"> sätter du action sidan till en php sida.
<form action="thumbs.php" target="thumbs">
På den sidan läser du sedan av vilket val du hade gjort på sidan innan.
Jag antar att du har standardinstallationen av php.

På den nya sidan läser du av variabeln: $_POST['vl']
Den skickar du sedan med i din sökning mot databasen:
SELECT * FROM bilddatabas WHERE date=$_POST['vl']

Sedan gör du en vanlig loop för att få ut svaren.

Hoppas det hjälper något.

  • Medlem
  • Göteborg
  • 2007-03-08 13:06

Ett sätt att lösa det kan vara att lägga bilderna i olika mappar efter vilket datum dem är tagna och sedan i PHP-scriptet välja rätt mapp att visa bilderna från.

Annars finns det färdiga PHP script för att skapa album, t.ex.
http://gallery.menalto.com/

  • Medlem
  • Sundsvall
  • 2007-03-08 14:49

Mattias..
Jag behöver nog en detaljerad förklaring, jag hänger med till en viss grad av det du säger men jag skulle vara mycket tacksam om du kan visa med kod hur jag ska göra..

Jag antar att du kan väldigt lite om php och databaser.
Mitt tips är att du tar dig igenom dessa lektioner som ger dig de absoluta grunderna i php/mysql.
http://www.webmonkey.com/programming/php/tutorials/tutorial4.html

Det exempel de gör över lektionerna tror jag stämmer rätt bra med det du vill göra.

  • Medlem
  • Sundsvall
  • 2007-03-11 23:24

nytt försök..

Så Mattias..
Nu har jag läst lite länken du skickade mig och på andra sidor.
Min kod ser nu så här ut, jag tror nog att det är fortfarande fel i php scriptet, eller menar du att jag ska ha ett script för varje bild? jag försåt inte hur jag ska få den att hämta just det valda datumet...

Databasen heter photo, tabellen heter bilder och fältet där bilderna ska finnas heter date.

bilder.php

<div> 
<form action="show_thubms.php" target="thumbs">

<select name="bild_val">

 <option selected="selected">Välj datum</option>

 <option name="datum_1">2006-12-24</option>

</select>


<input type="submit" name="visa" value="Visa bilderna" />

</form>
</div>

<iframe id="thumbs" scrolling="auto"></iframe>

och show_thumbs.php

<?php

if(isset($_POST["visa"])){ //om knappen send är tryckt, fortsätt köra scriptet
  $connect = mysql_connect( "localhost", "root", "");  //skapar en länk till mysql servern
  mysql_select_db("photo",$connect"); //talar om för mysql servern vilken databas den ska ansluta till
	$query = "SELECT * FROM bilder WHERE date=$_POST['datum_1']"; //väljer att hämta alla poster från tabellen bilder i databasen
	$result = mysql_query($query, $connect); //utför förfrågan och sparar resultatet ien variabel
	
	  //visning av databasens innehåll i en tabell
	while($data=mysql_fetch_row($result)){//hämtar datat från databasen
		
	print $data["bilder"]."<br>\n";	
		
	}
	mysql_close($connect); //avslutar kopplingen

 
}else{

include("bilder.html");  //inkluderar html sidan som innehållet formuläret
}
?>

1
Bevaka tråden