Autor | Zpráva | ||
---|---|---|---|
Tomkinss Profil |
#1 · Zasláno: 1. 6. 2011, 12:52:03
Zdravím,
Potreboval by som poradiť. Mám generátor, ktorý generuje čísla a písmena o dĺžke 3 znakov: $moznosti= array("1","2","3","4","5","6","7","8","9","0","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"); $mista="3"; $heslo=""; for ($i=0 ;$i<=$mista-1 ;$i++) { $nahoda=rand(0, count($moznosti)-1); $tag.=$moznosti[$nahoda]; } Potrebujem aby mi tento proses zopakovalo, ak v DB nájde rovnaké vygenerované znaky. Existuje v PHP niečo ako v Pascali: REPEAT príkaz; UNTIL ($tag != $tag[vypisany_z_db]); Myslím že môžem použiť v PHP While, alebo to dat do funkcie a tu volať viac krát keď sa bude zhodovať z DB výpis. Ako by to bolo podla Vás najlepšie ? |
||
Jozin Profil |
#2 · Zasláno: 1. 6. 2011, 13:00:12
Zdravím,
to co hledáš je do-while. Zároveň se mi to zdá jako nejlepší možnost. Nebude tam zbytečná funkce. |
||
__construct Profil |
#3 · Zasláno: 1. 6. 2011, 13:04:05
Tomkinss:
Nestačí toto? do { //prikaz } while ($tag != $tag[vypisany_z_db]]) Kratší zápis: $moznosti = array_merge(range(0,9),range('a','z')); |
||
okolojdouci Profil * |
#4 · Zasláno: 1. 6. 2011, 13:10:33
Proč $mista="3"; ? Chceš s tím pracovat jako s číslem nebo textem?
function rndnumber() { $chars = "0123456789"; $length = 6; $existuje = 1; while ($existuje>0) { $ret = ""; while (strlen($ret) < $length) { $ret .= $chars[mt_rand(0,strlen($chars))]; } $existuje = mysql_result(mysql_query("SELECT COUNT(*) FROM tbl WHERE neco = '".$ret."'"), 0); } return $ret; } |
||
Tomkinss Profil |
#5 · Zasláno: 1. 6. 2011, 13:19:06
__construct:
$moznosti = array_merge(range(0,9),range('a','z')); Nevygeneruje to aj znaky s diakritikou ? (š,č,ť,...) |
||
__construct Profil |
#6 · Zasláno: 1. 6. 2011, 13:29:07
Tomkinss:
Nie nevygeneruje – výsledné pole si môžeš prezrieť: <pre><?php var_export(array_merge(range(0,9),range('a','z'))); |
||
Tomkinss Profil |
#7 · Zasláno: 1. 6. 2011, 15:32:15
okolojdouci:
Budem s tým pracovať ako text. Ked sa mi v DB zaplnia všetky kombinácie 3, nastavím 4, ... :) Tvoj zápis je zaujimavý, skúsim s neho niečo vytiahnuť. Ďakujem všetkým za rady. |
||
Časová prodleva: 13 let
|
0