Diskuze: použití implode a explode pro uložení a načtní dat z databáze
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, obecně by bylo lepší řešení uložit jednotlivé hodnoty jako
jednotlivé řádky v databázi - obecně platí pravidlo, že by hodnoty ve
sloupcích již měly být nedělitelné. Pokud ovšem je to nějaká jednolitá
struktura (třeba jako JSON), pak si myslím, že je tohle řešení taky OK,
jen jdeš sám do rizika toho, že když budeš potřebovat někdy nějakou
hodnotu upravit, budeš muset zpracovávat celý seznam hodnot (z toho
složeného řetězce) a taky se vystavuješ riziku, že když ti někdo zkazí
formát toho řetězce, tak ti explode() bude vracet něco jiného, než chceš
Viz Martin.
Databaze je jen strukturovany radek. Co si tam ulozis, je jedno.
Podstatne je, zda s tim a jak chces dal pracovat. Pokud to nepotrebujes pro
vyhledavani, tak je i tato moznost dobrym resenim.
Napriklad piskvorky, herni plocha 20x20, kdyz to zestringujes, nic se nedeje.
Hraci pro vypis string parsujes. A editaci ti resi php, stejne. Ale samozrejme
uspornejsi by bylo upradovat jen tu jednu bunku. Jen v db bys to mel ale jako
400 radku, tak to asi neni pak tak fajn
No práce jako taková s hodnotami je jen v podmínce kdy si ze dvou tabulek vytáhnu hodnotu. Porovnám a pak podle toho zareaguji.
Jedná se o oprávnění k přístupu. Kdy mám tři tabulky.
podmínka porovná dvě pole pokud se uživatel nachází mezi oprávněnými tak má přístup povolen jinak je mu přístup odepřen a je přesměrován. Buď na přihlášení nebo do administrace.
Rozhodně se nebráním další tabulce která zde bude fungovat jako spojka. Jelikož se na tom učím. Ale jde o to že oprávněných skupin nikdy nebude mnoho. Aktuálně jsou tři a maximálně jich bude pět. Proto jsem možnost s další tabulkou zavrhnul
Upřímně bych u něčeho jako oprávnění uživatelů raději volil řešení přes více tabulek/řádků než ta oprávnění strkat do jednoho řetězce. Případně když už, zvolil bych formát, se kterým už jazyk umí pracovat pomocí nativních funkcí - tzn. třeba JSON, u toho můžeš jednoduše i kontrolovat, zda jde o validní řetězec. Nicméně z hlediska odstranění rizika chybovosti bych raději volil první možnost, tedy mít na každou hodnotu řádek zvlášť.
Ok, díky za radu.
Pro opravneni pouzivam take extra tabulku.
Sql dotazem na konkretni opravneni ziskas rychle bud vsechna nebo jedno. Muzes
jedno konkretni zmenit bez specialniho kodu. Tezko rici ted, co je lepsi, zda
vytahnout hned vsechny a dal uz sql nekontaktovat nebo pokazde se ho zeptat. To
zalzi, jak mas zabezpecenou class s pravy, zda ti to tam muze snadno hacker
prepsat nebo to mas jako private.
to teprve budu řešit zatím mám jen model, a upravuju funkci která to bude řešit. Zatím jen fungovala na bázi toho zda je uživatel admin tedy pouze true a false. Teď bude fungovat tak že si vezme seznam oprávnění uživatele a seznam oprávnění sekce a na základě toho bude buď přístup povolen nebo dostane uživatel vyhubováno. Nedělám to na pevno v kódu aby bylo možné jednotlivé skupiny ubírat či předávat, nebo upravovat jejich oprávnění (pouze ke čtení, plný přístup a nebo zablokováno). Včera jsem ještě trochu bojoval s SQL doatzem protože to co mi fungovalo přřes konzoli resp. v phpmyadmin to byl pro php problém ale už sem to vyřešil.
Zobrazeno 8 zpráv z 8.