neporadil by mě někdo jak efektivněji vygenerovat textový řetšzec obshující znaky a-z a 0-9 a zajistit jeho jedinečnost podle databáze generovaných řetšzců
já to zatim mam vymyšleny tak že fci random() vygeneruji nahodne čislo a fci krypt() to zakryptuji a sql overim jestli toento retezec jiz neexistuje
nezna nekdo neco efektivnejsiho?
                                 
                                 
                               
               
                              
                                 
                                      myslim ze to lze povazavot za dostatecne.
staci to tak a je to dostatecne efektivni
                                 
                                 
                               
               
                              
                                 
                                      Místo random() je lepší použít uniqid(), která generuje unikátní řetězce založené na čase.
                                 
                                 
                               
               
                              
                                 
                                      to honza : dik
to Master (---.sbone.cz) tusil jsem ze to jde efektivneji
                                 
                                 
                               
               
                              
                                 
                                      Slovo "efektivne" v programatorske sematice znamena "rychle".
Neni to totez jako slovo kvalitne!
                                 
                                 
                               
               
                              
                                 
                                      navrh  Honzy (---.gyrec.cz) je lychlejsi protoze nemusim vymeslet nahodne cisla a kriptovat ho mam uz rovnou retezec topro me znamena efaktivnejsi (rychlejsi) míisto dvou prikazu(f_ci) pouzit jeden
                                 
                                 
                               
               
                              
                                 
                                      jenze pokud tvou aplikaci pouziva vice uzivatelu, je mozne, ze i kdyz to overis, tak mezi tim nez to zapises si stejny retezec vygeneruje jinu uzivatel a pak se tam zapisou stejne
takze bud nejak zamknout tabulku (nejsem si ted z hlavy jist jestli mysql umi), nebo proste pouzit k overeni databazi - pokud mas unikatni id kolonku v tabulce, a pokusis se vlozit zaznam s id ktery uz existuje, databaze ho nevlozi a vrati error, takze by slo napsat:
generuj retezec
dokud ne(pokud o vlozeni vygenerovaneho retezce selhal) {
     generovat retezec
}
nebo prirozene to prepsat pomoci repeat/until
repeat
    generuj retezec
until (vlozeni se nepovedlo)
                                 
                                 
                               
               
                              
                                 
                                      ...pokracuji
navi ve vetsine pripadu budes volat jen jednu sql funkci, coz muze byt rychlejsi nez jendou funkci zjistovat a pak dalsi funkci vkladat
                                 
                                 
                               
               
                              
                                 
                                      to:
ja ptrebiji nejakY slozitejsi tretezec nez jen dve cislice id
                                 
                                 
                               
               
                              
                                 
                                      tim id jsem myslel sloupec v databazi oznaceny jako primary key, typem to muze byt klidne libovolne dlouhy retezec
                                 
                                 
                               
               
                              
                                 
                                      V MySQL se tabulky zamknout dají, takže to jde obojím.
                                 
                                 
                               
               
                              
               
                              
                                 
                                      flush tabels with read lock
 ;-) - coz ti na wz asi nepobezi, jinak:
lock table tbl_name
 to by mohlo chodit, co?
                                 
                                 
                               
               
                              
                                 
                                      mala pravdepodobnost ze se podari vygenerovat najdou dva upne stejne retezce (generovat tento retezec budu jen vyjmecne