Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kuvagalleria probleema

Sivun loppuun

PAKO [23.12.2005 20:50:03]

#

Elikkäs alottelin tekemään pienimuotoista kuvagalleriaa sivulleni. Sivu hakee kuvien nimet tietokannasta ja näyttää ne ruudulla.

Tähän sitten pitäisi saada kuvat useaan sarakkeeseen, joiden määrän voisi sitten koodissa määritellä, mutta en ole onnistunut pienen värkkäily jälkeen. Hyvät neuvot tuli tarpeeseen.

 <?php


include("connection.php");
	$connection = OpenConnection();
		if(! $connection) die("Tietokannan avaus ei onnistu!");
?>

<html>
 <head>
  <title>Kuvagalleria</title>
<link href="default2.css" rel="stylesheet" type="text/css">
 </head>
 <body>

<?php

$kuvakysely = "select Kuva from KUVA";
$kuvahaku = mysql_query($kuvakysely) or die("kuvahaku epäonnistui");

echo "<table><tr>";

// haetaan kaikkien kuvien nimet
for ($i = 0; $i < mysql_num_rows($kuvahaku); $i++) {
$kuvannimi = mysql_result($kuvahaku, $i, "Kuva");

$polkupluskuva = "galleria_kuvat/" . $kuvannimi;


	echo "<td><a href=\"$polkupluskuva\"><img alt=\"\" src=\"$polkupluskuva\" width=\"80\" height=\"80\"></a></td>";



} //for


echo "</tr></table>";

mysql_close($connection);


?>

 </body>
</html>

ajv [23.12.2005 21:04:44]

#

Vinkkinä: Ei niitä kuvia tartte laittaa taulukkoon, kuvat saa omille "riveilleen" tunkemalla looppiin br:ää tasaisin väliajoin. Näin säilytät sivun skaalautuvuuden myös pienille resoluutioille. Ite en tunkisi edes tota rivinvaihtoo. Kokeile vaikka!

Ja toisena vinkkinä: kuvalistausta varten kannattaa tehdä thumbnailit, niin sivuja jaksaa katsella myös modeemilla/ gprs:llä.

juha127 [23.12.2005 21:42:19]

#

ajv kirjoitti:

Ja toisena vinkkinä: kuvalistausta varten kannattaa tehdä thumbnailit, niin sivuja jaksaa katsella myös modeemilla/ gprs:llä.

Se o paljo mukavampi ku käyttää thumbnaileja, vaik oliski joku 1mg - 8mg yhteys varsinki 1mg ni yks jpg kuva joka o katseltava vie n. 70kt - 200kt ja 1mg nopeus o keskimääri 100kt/s eli vahti on noin 1 kuva per sekuntti ja jos olisi thumbnaileja jotka vie keskimäärin 15kt - 30kt ni. (en jaks selittää enempää)

ajv [23.12.2005 21:47:56]

#

Niin ja heitetään nyt vielä vinkki siihen rivittämiseen. Ratkaisu löytyy jakojäännöksestä:

<?php
for($i=0; $i<40; $i++){
   echo $i;
   if($i % 4 == 0) echo '<br />';
}
?>

Sama idea pätee taulukkoon, jos haluat ne kuvat taulukkoon laittaa.

PAKO [23.12.2005 21:50:52]

#

Luulin että kuvien piirtäminen pienempään muotoon ja tekeminen niistä linkkejä vie niiltä vähemmän muistia, mutta ehkäpä sitten olin väärässä luuloileni.

Olen amatööri vielä web koodaamisessa niin voisitteko vielä neuvoa miten thumbnaileja käytetään?

juha127 [23.12.2005 21:58:07]

#

Teet scriptin joka tekee kansiossa olevista kuvista toiseen kansioon thumbnalit ja haet tolla scriptillä nä thumbnalit tohon linkattavaksi.

Niin ja tietysti kun sanoit olevasi aloittelija niin mureakuhasta löytyy melkein toimiva.

ajv [23.12.2005 21:58:58]

#

Thumbit voi tehdä ihan käsin jollain kuvankäsittelyohjelmalla tai sitten teet kuvagalleriaasi jonkunlaisen automaattisen systeemin, joka tekee kuvasta thumbnailin vaikka kuvan lisäyksen yhteydessä. Jos päädyt jälkimmäiseeen, ratkaisu löytyy PHP:n gd-kirjastosta.

Thumbien käyttäminen on sitten ihan mielipidekysymys. Itse pidän thumbit omassa hakemistossaan samannimisinä kuin isot kuvat, mutta voi pitää ne myös samassa hakemistossa pistämällä niiden nimen eteen jonkun prefixin (esim. thumb_image1.jpg). Aika simppeliä koodata. Thumbnailin kuvakoko voi olla jotain 100-120 px jolloin tiedostokoko jää muutamaan kilotavuun.

Tässä linkki tuonne kuhaan:
http://mureakuha.com/koodikirjasto/413

PAKO [23.12.2005 22:04:51]

#

ajv kirjoitti:

Niin ja heitetään nyt vielä vinkki siihen rivittämiseen. Ratkaisu löytyy jakojäännöksestä:

<?php
for($i=0; $i<40; $i++){
   echo $i;
   if($i % 4 == 0) echo '
';
}
?>

Sama idea pätee taulukkoon, jos haluat ne kuvat taulukkoon laittaa.

Jostain syystä en saanut tätä toimimaan.
Tein kuitenkin oman version joka toimii

<?php
	for($j=-1; $j<999; $j=$j+3) {
		if($i==$j) {
			echo "<BR>";
		}
	}
?>

jideko [24.12.2005 00:17:20]

#

Mulla on käytössä tuollanen. Kuvat mulla on haettuna $kuvat taulukkoon.
Eli tuo sitten tekee tablen kuvista annettujen sarake ja rivi muuttujien mukaan.

Niin ja sivuttaa vielä nuo kuvat. Sivunumeron tuo hakee url:ssa olevasta sivu muuttujasta.

<?php
$sarakkeita=4;
$riveja=3;
$kuvien_lkm=count($kuvat);
$kuvia_sivulla=$sarakkeita*$riveja;
$sivu=$_GET["sivu"];

echo "\n\n<table cellspacing=\"1\" cellpadding=\"5\" align=\"center\">\n";

$laskuri=0;
for ($i= $sivu * $kuvia_sivulla; $i < $sivu * $kuvia_sivulla + $kuvia_sivulla ; $i++) {
	if ($i < $kuvien_lkm) {
		if ($laskuri==0) echo "<tr>\n";
		echo "<td><img border=\"0\" src=\"".$kuvat[$i])."\"></a></td>\n";
		if ($laskuri==$sarakkeita-1) {
			echo "</tr>\n";
			$laskuri=(-1);
		}
		if ($i==$kuvien_lkm-1) echo"</tr>\n";
	}
	$laskuri++;
}
echo "</table>\n\n";
?>

juha127 [24.12.2005 08:46:41]

#

ajv kirjoitti:

Tässä linkki tuonne kuhaan:
http://mureakuha.com/koodikirjasto/413

Kiitos multa en tota koodia vielä ole huomannut mutta sen huomasin että sivun pitää olla index.php niminen tiedosto että kommentit toimii. Ja aluksi se toimi hyvin, mutta nyt se avaa jostain syystä juurihakemiston index.html tiedoston.
Mikä sen voisi aiheuttaa.

ajv [24.12.2005 08:55:27]

#

Kysy siltä koodin tekijältä äläkä multa :)

PAKO [25.12.2005 01:13:52]

#

Kiitoksia vinkeistä ja linkeistä. Kyllä se homma tästä nyt etenee...


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta