Re: customer ids

From: Date: Wed, 06 Jun 2007 14:55:21 +0000
Subject: Re: customer ids
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-256182@lists.php.net to get a copy of this message
blueboy ha scritto:
Hi, I want to create random customer ids. I have an auto incremented coulumn but I would rather have a 6-8 digit/letter id randomly generated that can be used as a unique identifier across 3 tables. Does anyone have a algorithm to generate such a string and can you give the odds against 2 duplicate stings being generated? I know this is a strange ask. R.
Here's how I do it, for 1 single table though.. you'll have to write yourself the mod to check on more tables. If you plan to have > 10 millions records make sure the maxrand is higher. When the "do" loop exits you have a unique id. function generateID() { $minrand = 1; $maxrand = 99999999; $uniqueid[0] = mt_rand($minrand, $maxrand); $uniqueid[1] = $uniqueid[0]; return $uniqueid[1]; } do { //New ID generation $newid = generateID(); //Database check $sqlcheck = "SELECT youruniqueidhere FROM yourtablehere WHERE youruniqueidhere = '".$newid."'"; $conn = mysql_connect($db_host, $db_username, $db_password); mysql_select_db($db_name, $conn); $rs = mysql_query($sqlcheck, $conn); $rscount = mysql_num_rows($rs); } while ($rscount != 0); Cheers, Burn

« previous php.general (#256182) next »