Grafika publishing webtip.cz grafika.cz mujiPod.cz mujmac.cz fotografovani.cz printing.cz builder.cz galerie
webtip.cz
adresář  | práce  | diskuse  | redakce  | inzerce
 
 


  Obrázková galerie díl 1.
o autorovi 
poslat mailem 
tisknout článek 
aktuální rubrika 
Publikování obrázků a internet. Výtečná kombinace. Něco tu ale přeci jen chybí. Podívejte se, jak lze usnadnit manipulace s obrázky prostřednictvím jednoduché aplikace - obrázkové galerie.

Čevelíček Marek - 19.04.2002 - clanek - Rubrika: PHP
Seriál: 
Následující díl: Obrázková galerie díl 2.

Na internetu je v této době možno najít spousty fotografií. Někdo má na svých stránkách fotky z dovolené, jiný své grafické výtvory. Menší množství fotografií není problém na internet umístit. Co ale dělat, když má někdo stovky obrázků, jež by rád publikoval. Jedna možnost je dát si práci a do stránek ručně napsat všechny odkazy, včetně přesných rozměrů a odkazů a mít pak noční můry z toho, že mezi galeriemi 1 a 5 měl být obrázek, který tam není. Tím pádem je všechna dosavadní práce k ničemu, protože všechny odkazy musí být posunuty o jeden dolů a všechny galerie tedy updatovány. Druhá možnost je vytvořit si Image gallery, aplikaci, přes kterou bude vkládání a spravování obrázků hračkou, protože obrázky se budou z galerie vypisovat dynamicky.

První možnost zde rozhodně rozebírat nebudu, protože jak jistě uznáte, Image gallery je rozhodně použitelnější. Následující série článků vás tedy provede cestou k vytvoření jednoduché obrázkové galerie sloužící k různým účelům (ovšem pochopitelně souvisejícím s publikováním obrázků na internetu :) ).

Jakkoli je to pro někoho neuvěřitelné, naši Image gallery bude tvořit pouze jeden podstatný soubor. K funkcionalitě bude též důležitá databáze MySQL. Samotné obrázky se budou ukládat do dvou adresářů - "images_big" pro velké obrázky a "images_small" pro náhledy. V databázi budou uvedeny přitom jen odkazy na tyto obrázkové soubory spolu s width a height malých a velkých obrázků a názvu galerie. Přidáme ještě dva sloupce pro anketu, která bude součástí každého obrázku - hlasy a hlasovalo. Poslední sloupec IP bude obsahovat ip adresu posledního hlasujícího (taková primitivní pojistka proti několikanásobnému hlasování toho samého člověka).

Databáze ig - Tabulka gallery

Struktura tabulky 'gallery'

CREATE TABLE gallery (
id int(11) NOT NULL auto_increment,
src varchar(255) default NULL,
wb int(11) default '0',
hb int(11) default '0',
ws int(11) default '0',
hs int(11) default '0',
size int(11) default '0',
nazev varchar(255) default NULL,
hlasy int(4) default '1',
hlasovalo int(3) default '1',
ip varchar(200) default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;

Graficky pak struktura tabulky v databázi bude následující:

K celé tabulce budeme přistupovat pomocí několika php příkazů. Protože tyto příkazy budeme v aplikaci používat několikrát, uložíme si je do funkce connect(), která bude v souboru fce.php. Protože nedílnou součástí rozsáhlejších galerií je stránkování výpisu, vytvoříme si v tomto souboru ještě jednu funkci - predchozi_dalsi(), která stránkování bude obstarávat. Pokud jste sledovali díly o vytváření bazaru, použil jsem tam tu samou funkci. Zajímá-li vás tedy princip, na jakém funkce pracuje, mohu vás odkázat konkrétně na díl 5., kde je vše přehledně vysvětleno.

V tomto souboru bude potřeba editovat pouze název databáze, v níž máte uloženy tabulky.

Struktura souboru fce.php

<? function connect() { @$con = MySQL_Connect("localhost"); if (!$con): echo "Nepodařilo se spojit s databází."; exit; endif; MySQL_Select_DB("ig"); } function predchozi_dalsi($zobrazena_strana, $pocet_stran, $zazn) { if (($zobrazena_strana==1) && ($zobrazena_strana==$pocet_stran)): return ""; elseif (($zobrazena_strana!=1) && ($zobrazena_strana==$pocet_stran)): return "<a href=\"index.php?click=1&zazn=".$zazn."&zobrazena_strana=".($zobrazena_strana-1)."\"><b><<< PŘEDCHOZÍ</b></a>"; elseif (($zobrazena_strana!=$pocet_stran) && ($zobrazena_strana>1)): for($t=1; $t<= $pocet_stran; $t++): $vse = $vse." <a href=\"index.php?click=1&zazn=".$zazn."&zobrazena_strana=".$t."\">".$t."</a> "; endfor; return "<a href=\"index.php?click=1&zazn=".$zazn."&zobrazena_strana=".($zobrazena_strana-1)."\"><b><<< PŘEDCHOZÍ</b></a> <span class=\"color\">|</span> ".$vse." <span class=\"color\">|</span> <a href=\"index.php?click=1&zazn=".$zazn."&zobrazena_strana=".($zobrazena_strana+1)."\"><b>DALŠÍ >>></b></a>"; elseif (($zobrazena_strana==1) && ($pocet_stran!=1)): return "<a href=\"index.php?click=1&zazn=".$zazn."&zobrazena_strana=".($zobrazena_strana+1)."\"><b>DALŠÍ >>></b></a>"; else: return ""; endif; } ?>

V dnešním díle je to všechno. Příště se podíváme už na zajímavější věci a sice samotnou strukturu hlavního souboru galerie.

Čevelíček Marek


Hodnocení článku: -1- -2- -3- -4- -5-  Aktuální hodnocení: 2.71 (3957)

Relevantní články
Žádné články


Příspěvky do diskuse o aktuálním článku
JarynR24.07.20:33Nefunguje mi připojení k databazi
Marek Čevelíček17.08.1:40RE: Nefunguje mi připojení k databazi
Freegal25.01.20:30Freegal
Petr29.10.18:25Dotaz
Luger Herink04.01.22:37RE: Dotaz
Michal TALMAN19.04.13:47existuje finkce GetImageSize
liquid19.04.18:17RE: existuje finkce GetImageSize
  

 

  O vydavateli | Kontakt | Ceník reklamy | Ochrana osobních dat
©2002 Grafika Publishing. Všechna práva vyhrazena!