Autor Zpráva
Bryant
Profil
Zdravim, potřeboval bych poradit, udělal jsem registrační formulář, pracuje dobře. Ale teď potřebuju udělat to aby se každému uživateli vygeneroval po registraci 10místní(pouze číselný kód) a ten se mu i pak s dalšíma informacema, které zadal při registraci odešlou na e-mail a ten kód zapíše do databáze s ostatními daty. :) takže vlastně jen potřebuju tu funkci pro vygenerování toho kódu a jinak už vše zvládnu :D
tomas3333
Profil
mt_rand(1000000000, 9999999999);
syel
Profil *
No v zásadě třeba i tak, ale:
má-li být kód unikátní, nelze se vyhnout kontrole proti existující databázi a v případě neúspěchu, novému vyrobení kódu. Pokud kód - ID - nemusí být ve vztahu k údajům klienta, lze ponechat generování ID s výhodou na MySQL (jiné databáze to jistě zvládnou také), která si hlídá unikátní řadu IDček a po zápisu je možné se na to nejnoveji přidělené zeptat. Musí-li být číslo nutně desetimístné, lze buď při zpracování ID doplňovat nevýznamné nuly nebo, jak radí tomas3333, začít od 1000000000 :-)
Bryant
Profil
Pokud kód - ID - nemusí být ve vztahu k údajům klienta, lze ponechat generování ID s výhodou na MySQL (jiné databáze to jistě zvládnou také), která si hlídá unikátní ř...

No dobrá, to vše mam, ale nevim jak dosáhnu toho aby se po odeslání údajů do databáze vypsalo to IDčko daného uživatele, vim pouze jak pracovat s daty, které se odesílají z formuláře, ne s těmi co se pak v databázi uloží(myslim ti IDéčko, který přidává sama databáze jednotlivím záznamům) :(
tiso
Profil
Bryant: myslíš takéto niečo?
SELECT id FROM users WHERE nick='Bryant'
sysel
Profil
Je to otázka spíše do MySQL fóra. Nejsem na svém vývojovém pracovišti, takže přesnou instrukci MySQL pošlu až později.
- ID nebo jak si pojmenujete ten sloupec, musí být nejlépe PRIMARY KEY a nebo alespoň UNIQUE
- při INSERTu se pak generuje automaticky
- ihned po provedeném INSERTu se dá vyloudit SQL dotazem, jak jsme pravil, pošlu později nebo prosradí v MySQL diskusi (ostatně zkuste to nejprve hledat pod heslem "poslední unique ID" nebo tak nějak)

hodně zdaru

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: