Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
PHP
Redakční systém - generování III.
redakcni system
9. října 2001, 00.00 | V tomto díle seriálu o redakčním systému si ukážeme jak zobrazit vygenerované články. Přidáním této vlastnosti do redakčního systému se můžeme urychlit načítání článků, ale i celkově odlehčit serveru..
Dnes si ukážeme jak má vypadat script index.php, aby se zobrazili vygenerované články.
Jedná se pouze o nahrazení výrazů typu echo $row[0]; výrazem typu @include "./clanky/n_$id.dat;, kde $row[0] a podobné prvky pole jsou proměnné ve kterých
je umístěn nadpis, anotace nebo článek. Proč zde není naše známá podmínka? Je to z toho důvodu,
že v návštěvnické části se zobrazují pouze schválené články a jak víme, tak schválený článek se generuje na disk a
v databázi už není. Je tedy zbytečné ho tam hledat. Ještě bych chtěl upozornit na to, že při načítání souborů s obsahem
nadpisu, anotace a článku musí být cesta pouze s jednou tečkou označující aktuální adresář. Jinak by to nefungovalo.
Zavináč před příkazem include, nám zajistí, že se nebude vypisovat žádná
chybová hláška, pokud by byly problémy se čtením souboru. Práce zbytku scriptu je patrná z komentářů pana
Kocmana.
|
Pro ukázku si předvedeme co se děje pokud se zobrazuje článek. Pokud dostaneme v proměnné $clanek hodnotu vyšší než
0, zobrazíme článek s id které je hodnotou proměnné $clanek. Z tabulky autori vybereme jmeno email a něco oautorovi. Z
tabulky rubriky vybereme položku rubrika. Z tabuky clanky vyberem datum. Musí být splněny tyto podmínky: Položka id_autor
z tabulky clanky se musí shodovat s id v tabulce autori. Id_rubrika z tab. clanky musí být stejné jako id z rubriky. Článek
musí být schválený (stav z clanky musí být a). Položka datum z clanky musí být menší než aktuální datum a hlavně se id článku
musí shodovat s obsahem proměnné $clanek. Pokud v databázi nalezneme jeden článek načteme výsledek dotazu do proměnné
$data. Článku přidáme jeden přístup tak, že v tabulce clanky zvýšíme položku counter o jednu. Následně spočítáme příspěvky
v databázi pro tento článek a pomocí fce MySQL_Result() s parametry výsledek, záznam a položka záznamu zjistíme, kolik jich
vlastně je. Do vycentrovaného nadpisu velikosti tři načteme soubor n_$id.dat, kde $id nahrazuje číslo článku. V tomto souboru je
nadpis. Jako další zobrazíme soubor c_$id.dat kde se ukrývá samotný článek. V položce $data[3] máme kolik sekund uběhlo
od 1.1. 1970 do doby než byl článek schválen. To asi moc lidí nezajímá a tak to fce Date() převede na lidské datum ve formátu
DD.MM.RRRR, což už je pro normálního smrtelníka přijatelné. Za touto informací dáme název rubriky ve které se článek
nalézá, tedy $data[2]. Následující podmínky zajišťují správný tvar slova příspěvek. Je sice dobré mít jeden příspěvek, ale mít k
článku nula, tři nebo dvanáct příspěvek není asi dobré. A to nám tato podmínka řeší. Dále dáme k dispozici jméno ($data[0]) a
email ($data[1]). Přidáme náhled pro tisk a $data[4], tady něco o autorovi. Pokud je připojen obrázek ve formátu JPEG nebo GIF
zobrazíme ho v plné velikosti. Upload obrázků přidám v některém dalším díle. Jestliže článek na který ukazuje hodnota proměnné $clanek v databázi nenalezneme, vypíšeme
chybovou hlášku. Toť vše. Jak jednoduché, že?
Script ještě budeme upravovat. Není finální, ale měl by fungovat (alespoň doufám, že vám bude, mě ano).
Přidáme ještě
kaskádové styly, fultextové vyhledávání,
pár drobností pro aktuálnost a zobrazování obrázků, jejiž upload jsem nedávno dodělal.
Dnes to bylo trochu delší a tak příště to zkrátíme a ukážeme si obsah scriptu levy.php.
Chtěl bych poprosit všechny, kteří mají nějaký nápad jak RS ještě vylepšit, nechť mi ho zašlou a já
se ho pokusím nějak uvést do praxe. Vaše návrhy čekám na mém . Děkuji.
Obsah seriálu (více o seriálu):
- Redakční systém I.
- Redakční systém II.
- Redakční systém III.
- Redakční Systém IV.
- Redakční systém V.
- Redakční systém VI.
- Redakční systém VII.
- Redakční systém VIII
- Redakční systém - tisk
- Redakční systém - generování
- Redakční systém - generování II.
- Redakční systém - generování III.
- Redakční systém - generování IV
- Redakční systém - generování V.
- Redakční systém - krátké zprávy a CSS styly
- Upload obrázků
- Upload - II a logout
- Schvalování článků - II
- Dodatečné přidání obrázku
- Regulární výrazy I
- Regulární výrazy II
- Redakční systém: Fulltext - I.
- Fulltext - II
- Co s RS?
- Optimalizace databáze v RS
- Interní vzkazy - I
- Interní vzkazy - II
- Interní vzkazy - III
- Náměty od čtenářů - I
- Náměty od čtenářů - II
- Náměty od čtenářů - III
- Náměty od čtenářů - IV
- Náhrada FTP
- Ankety
Diskuse k článku
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007