Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Vijest koja ima više vezanih kategorija (spremanje, izvlačenje i ispitivanje)

[es] :: PHP :: Vijest koja ima više vezanih kategorija (spremanje, izvlačenje i ispitivanje)

[ Pregleda: 1485 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

davor4

Član broj: 30284
Poruke: 113
193.198.27.*



Profil

icon Vijest koja ima više vezanih kategorija (spremanje, izvlačenje i ispitivanje)16.02.2009. u 21:10 - pre 184 meseci
U svom cms-u želio bih izvesti da jedna vijest može imati više vezanih kategorija. U mysql-u sam predvidio dvije tablice, jednu s atributima vijesti, a drugu koja bi sadržavala id_vijesti i id vezanih kategorija.
Polje id_vezane_kategorije napunio bih sa nekoliko id-eva, a kod čitanja vezanih vijesti za neku kategoriju izvukao bih taj array iz baze te usporedio sadrži li vrijednost id kategorije koja se traži.
Zanima me koliko je to efikasno i brzo, te postoji li bolji način?
Možda primjerice da se u samom sql upitu odaberu vijesti koje u polju id_vezane_kategorije sadrže vrijednost tražene kategorije? (pomoću LIKE??)
Ispričavam se što sam topic smjestio u php podforum iako se dijelom tiče mysql-a.
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
91.148.76.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Vijest koja ima više vezanih kategorija (spremanje, izvlačenje i ispitivanje)16.02.2009. u 21:30 - pre 184 meseci
Dobar je prvi deo sa dve tabele, a posle je potrebno samo uraditi JOIN tabele vesti i tabele sa vezama po idju vesti, pa pitati uz pomoc WHERE category_id = x.
Tako ces spojiti tabelu vesti i tabelu sa vezama, i moci da postavis uslov da se listaju samo vesti iz odredjene kategorije.
Isto to samo join po idju kategorija kad za odredjenu vest vadis kojim kategorijama pripada. Znaci onda ide join po categoryID sa tabelom za kategorije, a WHERE news_id = y
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-2.sezampro.yu.



+33 Profil

icon Re: Vijest koja ima više vezanih kategorija (spremanje, izvlačenje i ispitivanje)16.02.2009. u 21:35 - pre 184 meseci
A mozhe i:
Code:

SELECT naslov, vest
FROM vesti
WHERE id IN
(
   SELECT id_vesti
   FROM vesti_kategorija
   WHERE id_kategorija = $kat_id
)

Izmishljao sam nazive kolona, ali chisto da vidish princip. A to $kat_id je kao neka promenljiva koju ubacujesh iz PHP-a, i koja odredjuje kategoriju...

Ovo mozhe da prodje pod uslovom da ti na osnovu kategorije ispisujesh vesti u nekim delovima sajta, pa tako jedna vest mozhe da se pojavi na vishe mesta, poshto pripada u vishe kategorija...

[Ovu poruku je menjao Nikola Poša dana 16.02.2009. u 22:48 GMT+1]
 
Odgovor na temu

davor4

Član broj: 30284
Poruke: 113
193.198.27.*



Profil

icon Re: Vijest koja ima više vezanih kategorija (spremanje, izvlačenje i ispitivanje)16.02.2009. u 21:52 - pre 184 meseci
hvala na odgovorima,
zanima me hoće li stvar funkcionirati ako u polje gdje je spremljena kategorija vijesti ubacim više id-a? time bih izbjegao da ukoliko se neka vijest veže na n kategorija da se onda kreira n zapisa, već bi se kreirao jedan zapis sa n vrijednost u polju kategorija?
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
147.91.216.*



+33 Profil

icon Re: Vijest koja ima više vezanih kategorija (spremanje, izvlačenje i ispitivanje)17.02.2009. u 11:31 - pre 184 meseci
Pa mogao bi i tako, samo ti onda uopshte ne treba ta pomocna tabela za povezivanje vesti i kategorija. Trebao bi samo da u tabelu vesti dodash polje, npr. id_kategorije, koje bi bilo tipa SET, i u njemu bi stavljao sve id-eve kategorija za koje je ta vest vezana, u ovakvom formatu - 1, 2, 7, 12. A i upit bi onda izgledao malo drugachije...

Mada ne znam zashto bi to radio, to bi posle bilo mnogo tezhe za odrzhavanje i azhuriranje te tabele...

I da, ovu temu si trebao da postavish u MySQL forum... :)
 
Odgovor na temu

davor4

Član broj: 30284
Poruke: 113
193.198.27.*



Profil

icon Re: Vijest koja ima više vezanih kategorija (spremanje, izvlačenje i ispitivanje)17.02.2009. u 12:45 - pre 184 meseci
Ispričavam se na krivom postanju,
isprva me zanimalo kako povući to polje id_kategorije u koje je upisano n kategorija i upotrijebiti ga za izlistavanje vijesti vezanih uz neku kategoriju. Radit ću kako ste i predložili, puno je jednostavnije i jasno mi je kako treba raditi, međutim mislio sam da će ovaj drugi način biti 'elegantniji' i možda brži.
Hvala, i javim se ako zapnem ;)
 
Odgovor na temu

[es] :: PHP :: Vijest koja ima više vezanih kategorija (spremanje, izvlačenje i ispitivanje)

[ Pregleda: 1485 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.