![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
Napisałem tą funkcję na potrzeby jednego projektu, może się komuś przyda
![]()
Funkcja ta generuje unikalne ID. Ten post edytował Sokal 30.06.2007, 19:03:29 -------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
gdyby nie globał byłoby całkiem fajnie
![]() ![]() i zamiast foreach in_array" title="Zobacz w manualu PHP" target="_manual no i może zamiast rand mt_rand" title="Zobacz w manualu PHP" target="_manual bo jak w manualu piszą działa szybciej i lepsze liczby tworzy ![]() ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
Co Ci się nie podoba w globalu?
// Już chyba wiem ![]() // A co do foreach, skopiowałem nie z tego pliku co trzeba. // Teraz to już się chyba nie czepisz ![]() ![]() Ten post edytował Sokal 30.06.2007, 17:59:37 -------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]()
Post
#4
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
do array_search
![]() ![]() jak sie czepiać to sie czepiać ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 6.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Chciałbym użyć tej funkcji u siebie na stronie, ale pojawił się pewien problem. Mianowicie, system rejestracji mam oparty na MySQL i chciałbym teraz aby najpierw skrypt pobierał dane z pola "ID" w bazie, te dane zamieniał potem na tablicę, a następnie sprawdzał według w/w kodu. Mój problem polega na tym, że skrypt często wywala błąd "Wrong datatype for second argument", czyli nie zgadza się tablica utworzona z danych pobieranych z MySQL. Prosiłbym o pomoc.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 258 Pomógł: 17 Dołączył: 22.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
To teraz ja się "czepnę":
Fragment z dokumentacji dla mt_rand() ( http://pl.php.net/mt_rand ) Cytat Jeśli funkcja zostanie wywołana bez opcjonalnych argumentów min i max , funkcja mt_rand() zwróci liczbę pseudolosową z przedziału pomiędzy 0 a RAND_MAX. Cytat Funkcja ta generuje unikalne ID. Otóż nie unikalne. Generator liczb losowych, jeśli ma określony zakres, zawsze MOŻE wygenerować Ci jakąś wartość ponownie, co oznacza, że ID już nie będą unikalne (bo będą się powtarzać). RAND MAX z kolei ma wartość, którą można odczytać przy pomocy f-cji getrandmax() - jest to 32767. Czyli mamy 32768 kmbinacji. Troszkę mało ![]() Ale mam dla Ciebie rozwiązanie - dodawaj do wygenerowanej przez mt_rand() wartości wynik zwracany przez microtime() (UNIX-owy znacznik czasu wraz z mikrosekundami - 1000 unikalnych wartości w ciągu sekundy). Wtedy dochodzi Ci stale zmieniający się (i naprawdę unikalny - czas nie biegnie w dowolną stronę ![]() ![]() -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 6.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedzi
![]()
No właśnie, może mi ktoś powiedzieć co robię tutaj źle? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Chwila... Chcesz generować id dla użytkowników, których trzymasz w bazie danych? Jeśli tak to czemu nie skorzystasz z "AutoIncrement"?
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 6.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Bo to tworzy kolejne liczby które mogę się składać z jednej cyfry. Ja potrzebuję 4-cyfrowego numeru, który będzie wysyłany automatycznie mailem podczas rejestracji.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Wątpię by się powtórzyły, przynajmniej nie szybko. ![]() Ten post edytował Meares 7.01.2010, 12:40:48 -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Bo to tworzy kolejne liczby które mogę się składać z jednej cyfry. Ja potrzebuję 4-cyfrowego numeru, który będzie wysyłany automatycznie mailem podczas rejestracji. myślę że dobrym rozwiązaniem będzie ustawienie w bazie auto_increment od 1000, ps. 4 cyfry trochę Cię ograniczają ![]() -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:09 |