Autor | Zpráva | ||
---|---|---|---|
xciza Profil |
#1 · Zasláno: 26. 8. 2014, 16:55:00
Ahoj,
je nějaká funkce v php pro generování id podle požadovaného tvaru, případně jakým postupem tohoto efektu dosáhnout? Například pro regisrované uživatele, kde klasický user bude mít své id začínající například U00201 a další bude mít U00202 atd. a user s rozšířenými právy bude mít A00001 a další bude mít A00002 atd. až třeba po A02000. Díky |
||
mimochodec Profil |
#2 · Zasláno: 26. 8. 2014, 17:02:29
Na nic takového php funkce není. ID v drtivé většině případů generuje databáze automaticky na základě nahozeného "auto increment". Jestli chceš dávat uživatelům rozdílné úrovně práv, udělej si pro to sloupec v tabulce, kde bude třeba číslo 0-3.
|
||
xciza Profil |
#3 · Zasláno: 26. 8. 2014, 17:34:19
No dobře tohle byl blbí příklad s temi právy pro usery. Tohle id bude mít proste každý nově registrovaný uživatel a potřebuji tyhle id abych rozlisil o jake uzivatele jde (bezny, freelancer) a pak podle tohohle id aby slo taky vyhledavat. Id sloupec s auto iincrement v db samozrejme mam ale potrebuju jeste tenhle jeden sloupec. Byl bych tedy vdecny za nejaky nastrel jak tohle resit.
díky |
||
Fisir Profil |
#4 · Zasláno: 26. 8. 2014, 17:56:07
Reaguji na xcizu:
Nepotřebuješ další ID jen na to, abys rozlišil o koho jde. Přidej si prostě další sloupec a do něj vkládej čísla identifikující typ uživatele (třeba 1 pro běžného, 2 pro freelancera, …). |
||
xciza Profil |
#5 · Zasláno: 27. 8. 2014, 06:50:01
Jenže prostě každý tento uživatel musí mít prostě to svoje id podle vzoru.
|
||
Tori Profil |
xciza:
Asi bych pro účely identifikace uživatele v DB (= cizí klíče) používala jen vygenerované číselné ID, ne ten kód. Pak by se dalo vložit uživatele bez toho kódu, a druhým dotazem mu ho doplnit: update t, (select count(*) cnt from t where kod like 'A%' and t.id < 150) ref set t.kod = concat('A', lpad(ref.cnt+1, 4, '0')) -- pro kód typu "A0001", 150 = ID nového záznamu where t.id = 150 |
||
Časová prodleva: 10 let
|
0