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
Fulltext - II
redakcni system
19. února 2002, 00.00 | Sledujete náš seriál o tvorbě redakčního systému v PHP? Pak si nenechte ujít poslední díl! Tímto dílem zakončíme fulltextové vyhledávání, ale i celý seriál.
Dnes tedy budeme pokračovat ve fulltextovém vyhledávání. Ukážeme si jak zobrazit vybrané články. Je toho trochu více a tak se nebudeme zdržovat.
|
Popíšeme si předchozí úryvek. Ještě připomenu, že články, které se mají zobrazit, jsou uloženy v poli $c. Pokud tedy jsou nějaké články na zobrazení, Zjistíme nejvyšší číslo existující(!) rubriky. To je důvod proč používám MySQL_Result() a nikoliv MySQL_Num_Rows(). Druhá funkce by nám zjistila počet rubrik, nikoliv však nejvyšší číslo rubriky. Následuje cyklus, kde pro každý článek zjistíme číslo rubriky, ve které se nachází. Výsledek budeme uchovávat v poli $rubriky. Jako klíče budou čísla rubrik a hodnota jednotlivých klíčů bude počet nalezených článků jejíž číslo se rovná klíči v poli. Do pomocné proměnné $n přiřadíme nejvyšší číslo rubriky a vybereme z databáze jména včech rubrik seřazená podle id od největšího po nejmenší. Přesně tak jsou totiž seřazeny počty článků v poli rubriky. Následuje cyklus, který probíhá dokud nejsou názvy všech rubrik vyčerpány. Jak vidíte, script dokáže skloňovat podle počtu nalezených článků. To jest pro 1 (1.pád jednot. čísla), 2,3,4 (1.pád množ. čísla) a více než 5 (2.pád množ. čísla).
Následující část zařadíme do scriptu index.php hned za část předcházející.
|
Máme již zobrazeny počty článků v jednotlivých rubrikách. Zbývá zobrazit samotné články. Jak jsem říkal, bude používat rozdělaní článků na stránky po 10. Proto funkce odkazy() (její funkci vysvětloval pan Kocman). Připomínám, že musíme předat proměnné, které budeme potřebovat. To jest: $hledej (true),$slovo (hledané slovo v lidské podobě) a $nazev (regulární výraz hledaného slova). Pokud již bylo něco zobrazeno, pokračujeme tam, kde jsme skončili. To znamená následujícím článkem. V opačném případě začneme od nuly. Počet zobrazených článků získáme pomocí $CL_PER_PAGE*$start. Říkáte si, že poslední článek na konci stránky se zobrazí znovu na prvním místě v další stránce? V tom případě si vzpomeňte, že pole jsou číslována od 0 a rázem je vše jasné. Pro zobrazení článků se používá funkce zobraz(). Její jediný parametr je id článku, který se má zobrazit. Tímto způsobem zobrazíme $CL_PER_PAGE článků. Pokud se vše nevešlo na jednu stránku, přidáme odkazy na zbytek. Ještě nám zbývá případ, kdy není nalezen žádný článek. V tom případě $d="true". Zobrazíme hlášku o neúspěchu.
Teď nám zbývá jen funkce zobraz(). Nebudu ji již více komentovat, neboť vše, co je v ní, již bylo zobrazeno a řečeno. Funkci vložíme do scriptu function.php.
|
Tímto máme za sebou fulltextové vyhledávání a také celý seriál. Možná, že mě ještě něco napadne. Možná, že něco napadne vás. Pro všechny nedočkavé je možnost si stáhnou kompletní scripty zde. Myslím, že k větší dokonalosti tomu chybí jen lepší grafika a pár drobností, kde je za hodně peněz málo muziky. Tím myslím počítání zobrazených stránek, označení hledaných slov a tak dále.
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
-
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