[ glavince @ 07.05.2006. 17:58 ] @
zelim da napravim 3 tablice u MySql:

menu, pod_menu i menu2pod_menu

U tablicu menu ce se upisivati: id_menu, naziv_menu i t.d.
U tablicu pod_menu: id_podmenu, naziv_podmenu i t.d.
U tablicu menu2pod_menu: id, id_menu i id_podmenu.
Problem je sledeci:
Pomocu select menija cu uzeti id_menu iz tablice menu, a u text filed cu upisati naziv pod_menija.
Onda u tablicu pod_menu cu upisati naziv_podmenija i naravno id_podmenu koji je auto_increment.

U isto vreme u tablicu menu2pod_menu zelim upisati
id_menu i pomocu "mysql_insert_id" ( iz querija za upisivanje u pod_menu) id_podmenu.


Stvar je veoma jednostavna, ali zanima me kolika je sigurnost da ce "mysql_insert_id" biti isti sa id_podmenu(auto_increment).Mislim na to ako se u isti momenat dva ili vise puta izvarsava isti query.
Nadam se da ste me razumeli -:).



[Ovu poruku je menjao glavince dana 07.05.2006. u 19:00 GMT+1]
[ dee_ @ 07.05.2006. 19:14 ] @
daj reci prvo, sta hoces postic?

kategorije, podkategorije, podpodkategorije...? ti to treba?
[ glavince @ 07.05.2006. 19:28 ] @
Citat:
dee_: daj reci prvo, sta hoces postic?

kategorije, podkategorije, podpodkategorije...? ti to treba?

Tacno to.
[ dee_ @ 07.05.2006. 19:44 ] @
to rijesis drugacije, puno jednostavnije...

napravis samo jednu tabelu koja izgleda npr. ovako:

Code:

id_kategorije   |   parent_id    |    naziv
        1                    0               prva kategorija
        2                    0               druga kategorija
        3                    0               treća kategorija
        4                    1               podkategorija1_1
        5                    1               podkategorija1_2
        6                    1               podkategorija1_3
        7                    2               podkategorija2_1
        8                    2               podkategorija2_2
.
.
.



znaci, u jednoj tabeli cuvas sve kategorije, a svakoj u stupac 'parent_id' zapisujes kojoj kategoriji ona pripada. I sad, ako krenes od ovih kojima je parent_id=0 (tako ces prepoznat da su one osnovne), vidis da kada MySQLu das upit da ti nadje npr. sve kojima je parent_id=1, vratit ce ti sve kategorije koje su unutar kategorije 'prva kategorija'. ako hoces npr. nac koje sve pripadaju u 'drugu kategoriju', trazit ces MySQLom da ti nadje sve kojima je parent_id=2 i dobit 'podkategorija2_1 i podkategorija2_2'.

Prednost ovog nacina ti je da mozes imat beskonacno duboko drvo, odnosno, beskonacno podpodpodpodpodkategorija, a sve u jednoj tablici : )))
[ glavince @ 07.05.2006. 20:58 ] @
Malo mi nije jasno kako bi se ovo izvelo.
Kako bi se generirao parent_id za svaku kategoriju i podkategoriju.
[ dee_ @ 07.05.2006. 21:03 ] @
u CMSu (ili gdje vec dodajes nove kategorije ili podkategorije), kada unosis novu kategoriju, upisujes njeno ime/naziv i odabires u koju postojecu kategoriju ce biti uvrstena. Ako ti npr, nova kategorija mora biti unutar druge katerogije (iz primjera), onda ces u parent_id te nove koju dodajes dodati vrijednost 2 (koja je id_kategorije u koju stavljas novu). Ako pak dodajes novu koja ce biti osnovna, upises joj parend_id 0 (posto nema nijednu kategoriju iznad sebe)

znaci, id_kategorije za novu koju dodajes ce se generirati kroz auto_increment polje u bazi, a parent_id ces upisati ti odabirom u koju postojecu kategoriju dodajes novu podkategoriju.

[Ovu poruku je menjao dee_ dana 07.05.2006. u 22:04 GMT+1]
[ glavince @ 07.05.2006. 21:34 ] @
Ima smisla.
Ja sam mislio da napravim 3 tabele, prva za kategorije, druga za podkategorije a treca koja bi nekako povezala kategorije sa podkategorije.
Ali ovo je jednostavnije i ko sto si rekao imas neogranicenu moznost za ugnezdavanje vise podpodkategorije.
Hvala.

Posto sam pokrenuo temu - koliko je siguran "mysql_insert_id"
hteo bi da cujem vasa mislenja o tom problemu.

[Ovu poruku je menjao glavince dana 07.05.2006. u 22:37 GMT+1]
[ SmilieBG @ 08.05.2006. 16:07 ] @
meni radi bez problema... Koliko sam ja razumeo, PHP, tj MySQL vraca ID od jedinstvene konekcije, tako da nije moguce da dobijes poslednji ID od nekog drugo insert statement-a...

Poz,
Sale
[ glavince @ 08.05.2006. 18:37 ] @
Citat:

u CMSu (ili gdje vec dodajes nove kategorije ili podkategorije), kada unosis novu kategoriju, upisujes njeno ime/naziv i odabires u koju postojecu kategoriju ce biti uvrstena. Ako ti npr, nova kategorija mora biti unutar druge katerogije (iz primjera), onda ces u parent_id te nove koju dodajes dodati vrijednost 2 (koja je id_kategorije u koju stavljas novu). Ako pak dodajes novu koja ce biti osnovna, upises joj parend_id 0 (posto nema nijednu kategoriju iznad sebe)

znaci, id_kategorije za novu koju dodajes ce se generirati kroz auto_increment polje u bazi, a parent_id ces upisati ti odabirom u koju postojecu kategoriju dodajes novu podkategoriju.

Ovo je sasvim u redu.
Sada me muci kako to da svaki podmeni includira zasebni php flile.
Primer:
Glavna kategorija je televizija
podkategorije su:Tv programi, komentar, anketa.
Kako da dinamicki postavim kada se klikom na link TVprogrami includira skript gde ce se prikazati TV programi, Klikom na komentar i anketa includirati skripte za komentare i ankete.
Ako neko ima ideju neka pise.
[ SmilieBG @ 08.05.2006. 21:14 ] @
Ajax? To sam ja sa time resio... :)

Poz,
Sale
[ glavince @ 08.05.2006. 23:24 ] @
Mozes da objasnis kako?

Mozda je sasvim blesavo ali ja sam ovako resio.
Prvo odabirem glavnu kategoriju, onda podkategoriju, onda pomocu readdir funkciju odabirem fajl koji je adekvatan izabranoj kategoriji i podkategriji. Strpam u bazu ideve kategorije i ime fajla.

Kada ponmocu GET metode procitam koja je to podkategorija samo includiram ime fajla koji se nalazi u bazi.
Neznam kolko je ovo pametno ali radi.

Ako bi neko neoprezan radio sa CMSom greske su neizbezne.
Dajte ideje kako bi se ovo moglo resavati.
[ SmilieBG @ 09.05.2006. 00:14 ] @
Cekaj, ti hoces da:

1. korisnik izabere kategoriju, zatim na osnovu toga - pod kategoriju?

Ajde, sad nisam u prilici, ali cu ti ostaviti sutra mali ajax code koji to pristojno resava...

Poz,
Sale
[ glavince @ 09.05.2006. 00:58 ] @
korisnik izabere kategoriju, zatim na osnovu toga - pod kategoriju, na osnovu podkategorije php file koji ce biti razlicit i po html i php codu.