je dana galeria, ktora funguje bez DB. pri galerii su moznosti komentovat fotku a aj hodnotit (1-10). tieto udaje sa uz do DB zapisuju. zapisuje sa komentar, id, komentatora, cesta k suboru atd... tento system funguje bezchybne. jeden komentar = jeden insert = jeden riadok. rating funguje tak isto. vypocet priemerneho hodnotenia je jednoduchy. vyberaju sa z DB udaje, kde je cesta taka ako cesta obrazku ktory sa nacita v galerii. cize to krasne funguje.
ale teraz prisiel problem. potreboval by som spravit sekciu TOP10. cize top10 komentovanych, top10 v hodnoteni, top10 v uzivatelskych albumoch.
ale neviem ako na to zostavim query. ten jeden zazracny riadok, ktorym by som to vycucol z DB. neviem ani ci sa to da. je tam vela neznamych. napadlo ma preskenovat vsetky priecinky s fotkami a vzdy zistit, ci je ta dana fotka komentovana a ak ano, tak kolkokrat. to by sa zapisalo do nejakej premennej a potom by sa len porovnavali premenne. to by boli komentare. velmi zlozito a neprakticky. dalej rating by sa robil podobne ale tazsie. ale tymto sposobom je to velmi neprakticke. ak by sa dalo jedno query spravit bolo by to idealne.
pre lepsie pochopenie pridam strukturu tabuliek...
Kód: Vybrať všetko
CREATE TABLE `namieru_ratings` (
`rating_id` int(11) NOT NULL auto_increment,
`rating_user` int(11) NOT NULL,
`rating_file` varchar(250) collate cp1250_bin NOT NULL,
`rating_value` varchar(20) collate cp1250_bin NOT NULL default '0',
`rating_type` varchar(20) collate cp1250_bin NOT NULL,
`rating_date` date NOT NULL,
PRIMARY KEY (`rating_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_bin AUTO_INCREMENT=12 ;
dalej...
CREATE TABLE `namieru_comments` (
`com_id` int(11) NOT NULL auto_increment,
`com_user` int(11) NOT NULL,
`com_file` varchar(250) collate cp1250_bin NOT NULL,
`com_text` varchar(250) collate cp1250_bin NOT NULL,
`com_type` varchar(20) collate cp1250_bin NOT NULL,
`com_date` date NOT NULL,
PRIMARY KEY (`com_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_bin AUTO_INCREMENT=21 ;
1 hodnotenie = 1 riadok
da sa to vobec dosiahnut tym, ze si rovno pomocou query vytiahnem co mi treba? alebo bude treba naozaj skenovat adresare s obrazkami?