Autor Zpráva
M4ra
Profil *
Ahoj....
chtěl bych se zeptat, jak řešíte následující problém:

Přes administraci si vytvářím položky menu webu (sport, počasí, politika,...).
Do každé rubriky is samozřejmě přidávám články. A teď k problému: Jak si ty
stránky zobrazujete na webu?

Já to dělám následovně, ale je to neefektivní:
všechno mám v index.php a zobrazuji si věci pomocí podmínek. Čili chci si
zobrazit články z rubriky SPORT.

if ($page == $_GET[nazev_rubriky]) a následuje výpis článků

a tak dále....

Má to za následek to, že index je pak velmi velkých so ce týče velikosti souboru
a mimo jiné takový způsob zobrazování mi přijde opravdu divný.....
Jan Tvrdík
Profil
M4ra
Využij databáze.
M4ra
Profil *
Jan Tvrdík
jako jo, využívám, články a rubriky do ní samozřejmě ukládám....

ale asistent ve škole mi řekl, že tento způsob je neefektivní.... co by se dalo vylepšit, aby byl přehlednější ten index.php, aby v něm nebylo tolik kódu?

třeba když budu chtít vypsat rubriky, tak:

if ($page == $_GET[nazev_rubriky]) a místo kódu, který tu bude následovat (je poměrně dlouhý - natvrdo napsaný), tak si jej zde includuovat?
Jan Tvrdík
Profil
M4ra
Nechápu příkaz
if ($page == $_GET[nazev_rubriky])
. Odkud se bere proměnná $page?
M4ra
Profil *
Jan Tvrdík
spíš to bylo myšleno takhle:
if (isset($_GET['seo_sekce'])) výpis kódu, který se postará o výpis článků dané sekce...
Jan Tvrdík
Profil
M4ra
Proč $_GET['seo_sekce']? Logicky snad $_GET['sekce'] s hodnotou seo.
fandaa
Profil
M4ra
Ve zkratce: přidej si další sloupec do DB k názvům kategorií, který bude obsahovat název rubriky v podobě, jáká se nacházi v $_GET (čili bude obsahovat sport, nazev_rubriky, atp.). A potom pouze zkontroluješ, zda-li daná kategorie existuje a vypíšeš články této kategorie.

Pokud je ale pro každou kategorii jiný kód pro výpis, tak bych tam dal normálně switch, ve kterém bych includoval soubor určený k výpisu dané kategorie.
M4ra
Profil *
[b]Jan Tvrdík && [fandaa/b]
jasný, přepracuji

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0