Adding a number of random generated unique strings into db
Today I accidentally got to a piece of code I have written long ago and really got surprised from me. I have created a not conventional solution to a interesting problem. Imagine you have to add a bunch of rows into a db table, for example promo codes, that has column holding randomly generated strings. The strings should be unique of course, so we have unique key in the db! So instead of generating the string, checking if it is already in the table and if not -> adding it to the table, I have just written this:
$j = 0; for($i=0; $i<$count; $i++) { while(true) { try { $code = str_makerand(); $codeID = $this->addItem( $this->tableNameCodes, array('code'), array($code) ); break; } catch(Exception $e){ $j++; if($j=10) break; } } }