Autorius Tema: uniqid - generuoja unikalu id pagal dabartini timestamp mikrosekundemis  (Skaityta 1730 kartus)

Neprisijungęs Lukas

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7431
  • Karma: +232/-15
    • Žiūrėti profilį
pati php funkcija

uniqid()

yra pakankamai neblogas irankis unikaliam id generavimui, taciau as, atogumo sumetimais, naudoju kiek kitokia funkcija:

<?php
    
function generate_id($prefix = &#39;&#39;, $ilgas = true) {
        
if ($prefix != &#39;&#39;) {
            
$prefix .= &#39;_&#39;;
        
}
        return 
uniqid($prefix$ilgas);
    }
?>


naudinga si funkcija tuo, kad veliau, jei bus noras patobulinti id generavima, galima bus pakeisti savo parasyta funkcija ir visa sistema 'atsinaujins' automatiskai, o jei naudosim visad pacio php f-cija uniqid() tai reiks visur keisti, jei noresim pakeisti id generavima.

i uniqid() paduodamos 2 reiksmes: pirma nurodo priesdeli pries pati id, jei reikia. as ji naudoju taip kad, jei tai yra pvz user id, tai priesdelis user_ ir t.t. tokiu budu paciam patogiau susigaudyti kuris id yra kieno. ilgas ar trumpas nurodo ar ilgesni ar trumpesni id daryti. ilgesnio reiktu tada, kai tu irasu yra daugiau, ilgis suteikia papildomo id unikalumo.


placiau apie uniqid() - http://php.net/manual/en/function.uniqid.php


panaudojimo pvz.:



Citata
user_4d7b485280cad9.44303089
user_4d7b485280cc36.56412056
user_4d7b485280cc74.61679624
user_4d7b485280cce5.63251834
user_4d7b485280cd22.66040355
4d7b485280cd64.80410021
4d7b485280cda2.61838352
4d7b485280cdd3.28407933
4d7b485280ce09.88326760
4d7b4852810b7
4d7b48528149f
4d7b485281885
4d7b485281c6d
4d7b485282055


PHP:
 pas mane ta funkcija yra core klaseje.. :)

<?php    
        
print $core->generate_id(&#39;user&#39;).&#39;<br />&#39;;
        
print $core->generate_id(&#39;user&#39;).&#39;<br />&#39;;
        
print $core->generate_id(&#39;user&#39;).&#39;<br />&#39;;
        
print $core->generate_id(&#39;user&#39;).&#39;<br />&#39;;
        
print $core->generate_id(&#39;user&#39;).&#39;<br />&#39;;
        
print $core->generate_id().&#39;<br />&#39;;
        
print $core->generate_id().&#39;<br />&#39;;
        
print $core->generate_id().&#39;<br />&#39;;
        
print $core->generate_id().&#39;<br />&#39;;
        
print $core->generate_id(&#39;&#39;,false).&#39;<br />&#39;;
        
print $core->generate_id(&#39;&#39;,false).&#39;<br />&#39;;
        
print $core->generate_id(&#39;&#39;,false).&#39;<br />&#39;;
        
print $core->generate_id(&#39;&#39;,false).&#39;<br />&#39;;
        
print $core->generate_id(&#39;&#39;,false).&#39;<br />&#39;;
?>


Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Gerda Photography
Serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs viliuxx

  • Naujokas
  • *
  • Įrašai: 135
  • Karma: +1/-0
    • Žiūrėti profilį
Re: uniqid - generuoja unikalu id pagal dabartini timestamp mikrosekundemis
« Atsakymas #1 Įrašytas: 2011-03-12 17:19:26 pm »
Dabar turiu pora klausimu

1. Kaip reiktu dabar iš mysql paimti tam tikru vartotoju id ?? na tarkim jei naudosim mysql funkcija id išgauti bus nuo 1 iki 10 ir aš lengvai galiu pasimti iš mysql 1 ir koki 5 vartotoja su id o kaip su šitu būdų galima pasimti tam tikrus vartotojus ??

2. Jei nesunku pateik pvz kaip paimti iš mysql ir kaip pateikti su php ačiū.

Manualai.lt Forumas

Re: uniqid - generuoja unikalu id pagal dabartini timestamp mikrosekundemis
« Atsakymas #1 Įrašytas: 2011-03-12 17:19:26 pm »