Hodnotenia článkov v PHP
Máte aj vy svoje stránky? A na nich články? A chcete vedieť, ako sa vašim čitateľom páčia? Dajte im možnosť článok zhodnotiť známkou a vyjadriť tým svoj názor. Výhoda je aj to, že táto aplikácia sa veľmi jednoducho vloží do stránok.
Celá aplikácia využíva PHP a MySQL. Nie je zložité ju vkladať na stránku, pretože využíva jednu MySQL tabuľku nezávisle od článkov. Jediné, čo bude mať s článkami spoločné, je určité ID, ktoré je pre každý článok jedinečné.
Vytvoríme si teda tabuľku:
|
Myslím, že takáto jednoduchá tabuľka úplne postačuje. Pole id
musí byť, ako som písal, zhodné s nejakou hodnotou článku. K tomu prídeme ešte neskôr. Do z1
až z5
sa bude ukladať počet hodnotení jednotlivých známok. Znamená to, že keď užívateľ klepne na hodnotenie 1, do poľa z1 sa uloží pôvodná hodnota + 1. Tým pádom môžeme robiť grafy, vyjadriť percentá ad.
Teraz prejdeme na samotný skript, ktorý užívateľ uvidí. Bude sa volať hodnotenie.php:
|
Tento skript sa pripája k databáze (doplňte svoje údaje) a v druhom riadku vyberá z tabuľky hodnotenie id, ktoré mu zadáte. Tento skript môžeme volať zo stránky s článkom príkazom require "hodnotenie.php?id=xx"
, kde xx je id článku, alebo ho môžeme vložiť priamo do stránky a do premennej id uložiť id článku. Potom sa to začína trošku komplikovať. Ak článok ešte nemá hodnotenie, vypíše určitý text a ďalej nerobí to, čo by robil, keby ten článok už hodnotenie mal. A robil by asi to, že by do premennej h uložil asociatívne pole s výsledkom z riadku 2. Do premennej pocet
ukladáme počet ľudí, ktorí článok už hodnotili. Do premennej hod
ukladáme všetky hodnotenia (počet ľudí, ktorí hodnotili článok tou ktorou zámkou * hodnota známky, to zn. napr. 25 * 4 – 25 ľudí hlasovalo za 4, všetky hodnotenia za 4 sú 100). Potom do premennej priemer
uložíme podiel premennej hod
a pocet
, čím dostaneme priemernú známku. Ďalej uvedené vypíšeme (musíte si to graficky upraviť). Potom si vypíšeme i riadok, kde môžu užívatelia hodnotiť článok.
Teda ešte to nie je všetko. Ešte potrebujeme skript, ktorým toto hodnotenie vlastne zapíšeme:
|
V tomto kratučkom skripte sa pripájame k databáze MySQL. V druhom a treťom riadku zisťujeme, či užívateľ už hlasoval pomocou cookies. Ak už hlasoval, presmerujeme ho späť a popr. môžeme vypísať i text, že už hlasoval. Ak však nehlasoval, pridáme k počtu hlasujúcich za konkrétnu známku ešte jeden hlas. Potom uložíme do cookie s názvom hodnotid
, teda napr. hodnot123456
, text "ano". Potom ho presmerujeme späť a opäť môžeme vypísať text, ktorý si nastavíme. Teda napr.:
if(isset($text)) echo $text;
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Nové AI modely od Open AI a Google
22. května 2024 -
10 nejpopulárnějších programovacích jazyků a jejich využití
9. listopadu 2023 -
Znovuuvedení domény .AD
5. září 2024 -
Landing page: Jak vytvořit landing page s vysokým CTR
7. května 2024
Nejnovější
-
Jak zvýšit CTR vašeho e-mail marketingu
9. září 2024 -
Znovuuvedení domény .AD
5. září 2024 -
Jak vybrat doménu: Co je dobré vědět?
2. září 2024 -
Proč je důležité tvořit obsah na váš web?
29. srpna 2024
philip777
Úno 2, 2010 v 21:05dobry navod, akurat dve male poznamky:
chyba ti znak $ v datovej kolekcii HTTP_COOKIE_VARS [$h]
a overovanie pomocou cookies je dost nebezpecne pretoze kazdy skusenejsi user si moze cookies zmenit ako chce kedze to nieje nic ine ako len textovy subor na jeho vlastnom pocitaci
steevee333
Srp 14, 2011 v 17:30id = $id“); mas to nezabezpecene na sql injection
steevee333
Srp 14, 2011 v 17:30id = ‚$id'“);tak to by to malo byt :)