Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP + Mysql - registrace uzivatelu

Dobry den,
mela bych velkou prosbu na par chytrych hlav :-) Potrebovala bych vyresit nize popsany priklad a jelikoz jsem opravdu velika zacatecnice, budu vdecna za jakoukoliv odpoved (hlavne pro me srozumitelnou :-))

Jde mi o registraci autoru a prideleni opravneni, do kterych RUBRIK mohou zapisovat nove clanky a do kterych ne.

Mam tabulky AUTORI(id_autora, login, heslo, jmeno, email, ???) a tabulku RUBRIKY(id_rubriky, rubriky). Uzivatel ci administrator, pridava noveho autora prostrednictvim klasickeho formulare v HTML souboru, kde jsou textova pole pro login, heslo, jmeno, email a dale tu mam 8 checkboxu jednotlivych rubrik. Chci napriklad panu Novakovi pridelit, ze muze zapisovat do rubriky 1, 2 a 3, tak zaskrtnu prvni tri checkboxy. Stisknu tlacitko Odeslat a?

Nyni prijde vase chvile :-) Jak by mela vypadat struktura tabulek AUTORI, RUBRIKY. Jaky datovy typ zde pouziju pro jednotlive rubriky? A jak bude vypadat SQL dotaz, ktery provede pridani noveho autora do tabulky AUTORI a zaroven prida pro tohoto autora seznam rubrik, do kterych ma pristup???

Vypis snad uz nejak zvladnu, jde mi hlavne o pridavani. Omlouvam se za svoji nezkusenost a verim, ze to pro vas nebude tezke sousto :-) Jeste jednou dekuji za vase odpovedi a preji hezky den! BTW, pro jistotu uvadim svuj email: tarja.turunen@email.cz

Dekuji!!!
Lucka

Předmět Autor Datum
Budem stručný, PHP nerobím - len ASP, ale najlepšie by bolo aby si prístup do rubrík urobila cez VAR…
Len tak 15.06.2007 11:34
Len tak
Mala by asi pribudnúť ďalšia tabuľka, ktorá by obsahovala väzbu medzi autormi a rubrikami - AUTOR_RU…
los 15.06.2007 14:48
los
Urobiť tabuľku AUTORI_RUBRIKY s týmito stĺpcami: 1. Autor 2. Rubrika Každá povolená rubrika pre aut… poslední
msx. 15.06.2007 19:32
msx.

Budem stručný, PHP nerobím - len ASP, ale najlepšie by bolo aby si prístup do rubrík urobila cez VARCHAR, to znamená, že AUTORI(id_autora, login, heslo, jmeno, email, rubriky) - vlastne do rubriky budeš ukladať ID čísla vybraných rubrík.

Príklad rubrík :
ID - 1 IT články
ID - 2 Recepty
ID - 3 Politika
ID - 4 Ľudia
ID - 5 Ostatok

Zápis k jednotlivým autorom :

Autor Peter - field rubriky budú obsahovať (1,3,5)
Autor Jano - field rubriky budú obsahovať (2,4)

Potom ak sa autor prihlási a bude chcieť pridať nový článok do rubriky, máš niekoľko spôsobov overenia či môže zapisovať do rubriky.

Príklad 2. spôsobov overenia
1. budeš vyhľadávať v reťazci RUBRIKY - reťazec ID rubriky (ktorý prevedieš na STRING)
2. jednoducho si rubriky prevedieš na ARRAY a porovnáš každú položku (v ASP je SPLIT funkcia)

Doporučujem použiť spôsob č. 2, i keď často používam spôsob č.1. Spôsob č. 1 je nevyužiteľní pri 2 a viac ciferných číslach.

Zápis všetkých rubrík k autorovi :
Neviem ako to funguje v PHP ale myslím, že tak isto ako v ASP. V HTML formulári si názvy všetkých RUBRIK (Checkbox) zadaj jedným názvom, napríklad RUBRIKA a každému prideľ svoje ID číslo. Po odoslaní formulára to budeš mať veľmi jednoduché, pretože jednoducho dáš vložiť celý STRING odoslanej položky RUBRIKY do DB - v ASP SQL_EXECUTE .... Reqeust.QueryString("RUBRIKA")....

Výhody :
rýchlosť, načítaš vlastne len autora a jeho rubriky, nemusíš otvárať zase RECORDSET.

Mala by asi pribudnúť ďalšia tabuľka, ktorá by obsahovala väzbu medzi autormi a rubrikami - AUTOR_RUBRIKA (id_autora, id_rubriky).

Potom môžeš jednoducho zvoliť, k akým rubrikám má autor prístup:

select r.* from autor_rubrika as ar
inner join rubrika as r on r.id_rubriky=ar.id_rubriky
where ar.id_autora=$id_autora

Podobne môžeš zistiť aj to, akí autori majú prístup k danej rubrike.

Urobiť tabuľku AUTORI_RUBRIKY s týmito stĺpcami:
1. Autor
2. Rubrika

Každá povolená rubrika pre autora bude znamenať riadok v tabuľke, čiže:
Autor 4 môže ísť do rubrík 5, 6, 7, tak do tabuľky pridáš riadky:
Autor-4, Rubrika-5
Autor-4, Rubrika-6
Autor-4, Rubrika-7

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