Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem SQL dotaz - spojeni tabulek

Dobry den, potrebovala bych poradit s nasledujicim problemem:

Pokousim se udelat mensi redakcni system, ktery mimo jine umoznuje vkladani novych uzivatelu... Muj problem je nasledujici:
Mam tabulku AUTORI, ktera je slozena z: id_autora, login, heslo, jmeno, email. Dale pak tabulku RUBRIKY - id_rubriky, rubrika.

Nyni chci vlozit noveho uzivatele pana Novaka a pomoci checkboxu mu urcit, ze ma pristup pouze do kategorie Prodej a Reklamace, cili ne do vsech treba 10ti kategorii.

Jak by mely vypadat tabulky AUTORI a RUBRIKY, aby toto bylo mozne? Dale pak SQL dotaz, ktery toto pozna, spoji dane tabulky a pri naslednem prihlaseni p. Novaka, az bude chtit pridat novy clanek - mel v SELECTBOXU zobrazen pouze Prodej a Reklamace.

Snad je to srozumitelne... :-[

Dekuji moc!
Lucka :.(

Předmět Autor Datum
No, viděl bych to na vytvoření třetí tabulky s názvem např. OPRAVNENI, která vlastně propojí autory… nový
host 14.02.2007 18:11
host
Dekuju moc! :-* Az budu mit chvilku na to mrknu a v pripade nejakych nejasnosti, bych te opet kontak… nový
Lucka 15.02.2007 12:01
Lucka
Aha, tak tem SELECTUM rozumim :-) Nicmene mi neni az zas tak moc jasna jedna vec: Kdyz pridavam nov… nový
Lucka 15.02.2007 17:23
Lucka
V takovém případě musíš jedním příkazem INSERT napřed uložit autora do tabulky autoru a druhým příka… nový
Jan Fiala 15.02.2007 17:32
Jan Fiala
No jasne! :)) Dekuju!!! :-* nový
Lucka 15.02.2007 17:35
Lucka
Jeste bych mela jednu otazecku? SELECT rubriky.rubrika FROM autori, opravneni, rubriky WHERE autori… nový
Lucka 16.02.2007 15:39
Lucka
Ten SELECT vybere všechny kategorie, pro která má dotyčný autor oprávnění - neznamená to, že jednomu… poslední
host 16.02.2007 15:48
host

No, viděl bych to na vytvoření třetí tabulky s názvem např. OPRAVNENI, která vlastně propojí autory s rubrikami.
Struktura tabulky OPRAVNENI: id_opravneni, id_autora, id_rubriky

A jak vybrat povolené rubriky pro pana Nováka podle zadaného příkladu:

SELECT opravneni.id_rubriky FROM autori, opravneni
WHERE autori.jmeno="Novak"
AND autori.id_autora = opravneni.id_autora

Tímto zjistíš ID rubrik, do kterých má pan Novák přístup.

Pokud bys chtěla zjistit ne ID, ale přímo názvy těch rubrik, tak nějak takto:

SELECT rubriky.rubrika FROM autori, opravneni, rubriky
WHERE autori.jmeno="Novak"
AND autori.id_autora = opravneni.id_autora
AND rubriky.id_rubriky = opravneni.id_rubriky

Aha, tak tem SELECTUM rozumim :-)

Nicmene mi neni az zas tak moc jasna jedna vec:
Kdyz pridavam noveho uzivatele, tedy Autora do databaze pres formular, kde zadavam jmeno, login, heslo, email do vstupnich poli a hlavne do jake sekce ma pristup (pomoci checkboxu) a stisknu ulozit, tak se tento novy autor (treba pan Novak) ulozi prece do tabulky Autori, ne? Jak mam dostat ID tohoto noveho autora i do tabulky OPRAVNENI? Chapu, ze se id_autora z techto dvou tabulek maji shodovat, ale jak je ho dostat i do OPRAVNENI?

Nevim, jestli je to srozumitelne, kazdopadne se omlouvam za svoji neznalost, ale tohle mi urcite pomuze v dalsim studiu ;-)

Moc dekuju!!!!

Jeste bych mela jednu otazecku?

SELECT rubriky.rubrika FROM autori, opravneni, rubriky
WHERE autori.jmeno="Novak"
AND autori.id_autora = opravneni.id_autora
AND rubriky.id_rubriky = opravneni.id_rubriky

Tenhle select je dobry, ale neznamena to, ze kazdemu autorovy nalezi prave jedna kategorie??? Jak udelat, aby mohl mit pristup treba do trech? Jaky datovy typy budu pouzivat?

DIky!
Lucka

Zpět do poradny Odpovědět na původní otázku Nahoru