Máte aj vy svoje stránky? A na nich články? Minule som písal o hodnotení článkov, teraz si povieme o niečom pre autora článku ešte dôležitejšom: konkrétnu kritiku, návrhy, otázky a niekedy aj pochvaly, skrátene komentáre.
Táto aplikácia využíva PHP a MySQL. Aplikáciu nie je zložité 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é. Takto som začínal článok minulý a tak začínam i tento.
Vytvoríme si teda tabuľku:
komentare ( idclanku int, autor varchar(200), email varchar(200), url varchar (200), text text, predmet varchar(100), ncas bigint) |
|
Myslím, že takáto jednoduchá tabuľka úplne postačuje. Teoreticky by sme mohli pridať niečo ako pole „nad“, čím by sme docielili toho, že komentáre by mali vždy svoj nadradený komentár a podľa toho by sa zväčšovalo odsadenie. Proste klasické fórum, ale myslím si, že k článkom nám bude úplne stačiť takéto niečo… Pole „idclanku“ musí byť, ako som písal, zhodné s nejakou hodnotou článku. Ďalej si budeme písať autora článku, jeho email, prípadnú stránku, predmet komentára a samotný text. A nemôžeme zabudnúť na identifikátor a zároveň údaj o čase, teda pole „ncas“.
Momentálne uvidíte hlavný skript komentare.php:
<? mysql_connect(„localhost“, „MENO“, „HESLO“); mysql_select_db(„DB“); function komentare_list($id){ $s = mysql_query(„Select predmet, ncas, email, meno from komentare where idclanku = $id order by ncas desc“); echo „<table><tr><td height=20> </td></tr></table>“; echo „<div align=center><table bgcolor=black width=100% cellpadding=1 cellspacing=1 border=0>“; echo „<tr><td height=16 bgcolor=#cccccc width=100% class=menuheader> Komentáre k článku („; echo mysql_num_rows($s); echo „)</td></tr>“; if(mysql_num_rows($s)!=0): while($e = mysql_fetch_array($s)): echo „<tr><td bgcolor=#e5e5e5 class=menu>“; echo „<a href=’mailto:“; echo $e[„email“]; echo „‚>“; echo $e[„meno“]; echo „</a> („; echo date(„d.m.Y“, $e[„ncas“]); echo „) : <b>“; echo $e[„predmet“]; echo „</b>“; echo „</tr></td>“; endwhile; endif; echo „<tr><td height=16 bgcolor=#cccccc width=100% class=menuheader><center><a href=’komentare_ukaz.php?id=“; echo $id; echo „‚>Ukáž komentáre</a>  <a href=’komentar_pridaj.php?id=“; echo $id; echo „‚>Pridaj komentár</a>“; echo „</td></tr>“; echo „</table></div>“; } function komentare($id){ $s = mysql_query(„Select * from komentare where idclanku = $id order by ncas desc“); echo „<table><tr><td height=20> </td></tr></table>“; echo „<div align=center><table bgcolor=black width=100% cellpadding=1 cellspacing=1 border=0>“; echo „<tr><td height=16 bgcolor=#cccccc width=100% class=menuheader> Komentáre k článku</td></tr>“; if(mysql_num_rows($s)!=0): while($e = mysql_fetch_array($s)): echo „<tr><td bgcolor=#e5e5e5 class=menu>“; echo „<a href=’mailto:“; echo $e[„email“]; echo „‚>“; echo $e[„meno“]; echo „</a> – <a href='“; echo $e[„url“]; echo „‚>“; echo $e[„url“]; echo „</a> („; echo date(„d.m.Y“, $e[„ncas“]); echo „) : <b>“; echo $e[„predmet“]; echo „</b><br><br>“; echo $e[„text“]; echo „</tr></td>“; endwhile; endif; echo „<tr><td height=16 bgcolor=#cccccc width=100% class=menuheader><center><a href=’javascript:history.go(-1);‘>Späť na článok</a>  <a href=’komentar_pridaj.php?id=“; echo $id; echo „‚>Pridaj komentár</a>“; echo „</td></tr>“; echo „</table></div>“; } ?> |
|
Tento skript, dajme tomu že sa bude volať komentare.php, obsahuje všetko potrebné k behu programu. V skratke potrebujeme zistiť, či článok so zadaním ID vlastne nejaké komentáre má. Ak ich má, zobrazíme list týchto komentárov: zobrazíme meno a email autora, dátum pridania a predmet komentára. Keď má návštevník záujem, klikne si na „ukáž komentáre“ a môže si komentáre prezrieť. Takisto môže komentár pridať. Druhá funkcia robí vlastne to isté, s tým rozdielom, že zobrazuje aj url adresu kritika, a samozrejme aj text jeho komentára.
To by bolo nadnes všetko. Nabudúce si tento program dokončíme; ukážeme si, ako tieto komentáre vlastne používať, kedy ich používať a ako ich pridávať.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Jozef Šikula
Pro 5, 2009 v 13:25Ahoj, cital som tvoje clanky o kometároch a chcel by som sa ta spytat, teda poprosit o radu.. Robim si vlastnu stranku v HTML a chcel by som tam vlozit kometáre k clankom alebo ku fotogalerii no neviem ako presne na to.. vedel by si mi prosím ta poradit ako na to???
Dakujem
Jozef
midas
Zář 26, 2010 v 12:16A jak přesně prosím vytvořím tu tabulk? Mám přístup do php my admina