MySQL / PHP Arhiva?

Ovako, radim nesto slicno blogu sa PHP / MySQL-om, kao mali CMS.

U MySQL bazi imam table content, u njemu se nalazi nekoliko polja sa sadrzajem, naslovom, datumom, autorom…

E sad zelim napraviti Arhivu koja ce ispisivati sve naslove svih clanaka prema godini i mjesecu unosa. Ma isto sto ima na wordpress-u archive, to zelim napravit, al zelim sam napravit bazu i sa php-om ispisat i sortirat titlove svih clanaka prema godini i mjesecu unosa.

Jel postoji neki tutorial ili netko moze tu ugurbo opisat kako treba dizajnirati MySQL bazu da mogu povuci iz nje sve clanke prema godini i mjesecu. Ma to mi i nije neki problem napravit polje sa godinom i izabrat sve gdje je godina koja mi treba.

Al sto me muci npr. kako napisat da skripta automatski ispisuje samo godine koje postoje u bazi? Da sama vidi koje godine i koji mjeseci su upisani i da njih ispise i clanke koji su napisani u toj godini, mjesecu, a da preskace mjesece u kojima nije bilo postova?

Uglavnom netko tko je to radio shvatit ce sto me muci, i bit cu zahvalan ako me uputi na neki dobar tutorial ili samo ugrubo objasni kako treba dizajnirat bazu.

Pa što se mene tiće, imaš sve u tabeli content (ako griješim, neka me netko ispravi).

A sad je stvar u algoritmu koji ćeš napraviti. Ja bi sljedeći način.

Recimo prvo da nudiš mogućnost arhive za neku godinu onda prvo provjeriš da li je naveden uvjet i na temelju uvjeta (ako nema onda vučeš sve) izvučeš datum (sortiraš po datumu), ime.

I sad napraviš neku funkciju koja bi ti uspoređivala sljedeći s trenutnim i u neki niz spremala naslove (i linkove ako ti trebaju). Naravno možeš koristiti i klase (prije bi to koristio nego funkcije).

E sad sigurno ima neki algoritam kojim se to može riješiti puno lakše i bezbolnije tako da dio posla obavi i MySQl ali pošto sam se tek probudio mozak još ne radi punim kapacitetom pa kad se malo razbudim budem smislio nešta bolje :D.

[quote=“Limeni”]Ovako, radim nesto slicno blogu sa PHP / MySQL-om, kao mali CMS.

U MySQL bazi imam table content, u njemu se nalazi nekoliko polja sa sadrzajem, naslovom, datumom, autorom…

E sad zelim napraviti Arhivu koja ce ispisivati sve naslove svih clanaka prema godini i mjesecu unosa. Ma isto sto ima na wordpress-u archive, to zelim napravit, al zelim sam napravit bazu i sa php-om ispisat i sortirat titlove svih clanaka prema godini i mjesecu unosa.

Jel postoji neki tutorial ili netko moze tu ugurbo opisat kako treba dizajnirati MySQL bazu da mogu povuci iz nje sve clanke prema godini i mjesecu. Ma to mi i nije neki problem napravit polje sa godinom i izabrat sve gdje je godina koja mi treba.

Al sto me muci npr. kako napisat da skripta automatski ispisuje samo godine koje postoje u bazi? Da sama vidi koje godine i koji mjeseci su upisani i da njih ispise i clanke koji su napisani u toj godini, mjesecu, a da preskace mjesece u kojima nije bilo postova?

Uglavnom netko tko je to radio shvatit ce sto me muci, i bit cu zahvalan ako me uputi na neki dobar tutorial ili samo ugrubo objasni kako treba dizajnirat bazu.[/quote]
Ako ces pravo arhiviranje, trebas napraviti identicnu tablicu ko content, a isprogramirati moras skriptu koja ce periodicno prebacivati zapise iz content tablice u tablicu content_arhiva (a ta skripta bi se prozivala iz cron-a ili neceg slicnog).

Ako to nije sta zelis, onda samo trebas napraviti SQL upit. Ako ti oko toga treba pomoci, javi.

Hvala decki… palo mi je napamet danas kako to izvesti.

Bas kako i Ivan kaze. Napravit cu novu tableu “archive” i u nju cu svaki put kad korisnik upise novi post spremiti title posta, i datum kad je post unesen. I onda cu lako izvlacit iz tabele archive titlove sortirane po godini i mjesecu, od titlova napravit permalink-ove, GET metodom proslijedit title posta i na novoj stranici iz tabele content izvuc samo row koji ima title kao onaj sa arhive. Klikom na mjesec ili godinu ispisat samo clanke koji imaju tu godinu… dalje je jednostavno :slight_smile:

Ma uopce ovo nije komplicirano ali sinoc oko 4h u noci mi se cinilo nemoguce, nije mozak bas najbolje radio sto kaze 3d Zlikovac :slight_smile:

Hvala :slight_smile:

Ja nebi radio 2 tablice jer koliko ćeš maksimalno imati postova godišnje.
Recimo post po danu sljedećih 1000 godina da svaki dan imaš post uz pravilnu optimizaciju i jednostavne querije nećeš imati nikakvih problema.

ma nema potrebe za ničim takvim :)) ljudi se previše trude oko optimiziranja i ja sam sam se, al kad vidiš koliko to sve malo troši pa koliko god da iskomplicirao skriptu, i uz poboljšavanje servera nemaš se za čime cimat, sumnjam baš da ćeš imat neke extremno zahtjevne procedure i neznamo koliko milijuna zapisa u tabeli…
složiš malo indexe i to je to :slight_smile:

Ja isto ne vidim smisao 2 tablice, jedino da u jednu premještat a iz glavne brišeš :). Ovako bzvz dupliciraš sadržaj a glavna tablea sadži već sve potrebno.

Naravno da iz glavne brises, da ne brises to bi bio backup, a ne arhiva. :smiley:


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja