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>
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ä.
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ää)
Niin ja heitetään nyt vielä vinkki siihen rivittämiseen. Ratkaisu löytyy jakojäännöksestä:
Sama idea pätee taulukkoon, jos haluat ne kuvat taulukkoon laittaa.
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?
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.
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
ajv kirjoitti:
Niin ja heitetään nyt vielä vinkki siihen rivittämiseen. Ratkaisu löytyy jakojäännöksestä:
Sama idea pätee taulukkoon, jos haluat ne kuvat taulukkoon laittaa.
Jostain syystä en saanut tätä toimimaan.
Tein kuitenkin oman version joka toimii
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"; ?>
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.
Kysy siltä koodin tekijältä äläkä multa :)
Kiitoksia vinkeistä ja linkeistä. Kyllä se homma tästä nyt etenee...
Aihe on jo aika vanha, joten et voi enää vastata siihen.