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.