Jason Pruim pruimj@xxxxxxxxx On Aug 11, 2011, at 11:52 AM, Jim Lucas wrote: > On 8/10/2011 6:22 PM, Jason Pruim wrote: >> So here I am attempting to generate some numbers to be inserted into a database... eventually they will make up a phone number (Which I've emailed about before and know about the bad ideas with it.. But it's the customer :)) >> >> Here is the code I am working with: >> >> <?PHP >> function number_pad($number,$n) { >> return str_pad((int) $number,$n,"0",STR_PAD_LEFT); >> } >> >> $SQL = "SELECT * FROM Test WHERE `areacode` = '907' AND `prefix` = '200' LIMIT 5"; >> >> $result = mysql_query($SQL); >> //$num = "0000"; >> //foreach ($result as $key => $value) { >> // echo $key . "-" . $value . "-" . number_pad($num, "4") . "<BR>"; >> // $num++; >> //} >> >> while ($num != "10000") { >> while($row = mysql_fetch_assoc($result)) { >> $padnum = number_pad($num, "4"); >> echo $row['areacode'] . "-" . $row['prefix'] . "-" . $padnum . "<BR>"; >> $num++; >> } >> >> >> } >> >> ?> >> >> basically all I'm trying to do is generate the last 4 digits starting at 0000 and going up to 9999. for testing purposes I'm just echoing back but will eventually insert the complete number back into the database as a 7 digit string. >> >> The error I'm getting is: >> >> Fatal error: Maximum execution time of 30 seconds exceeded in /home/pruimpho/public_html/jason/dev/clients/flewid/Phone/config/phoneareacodes.php on line25 >> >> which is where the second while starts... >> >> Does anyone know a better way to do this? >> >> I'm off to finish searching google while waiting for some good news :) >> >> Thanks Everyone! >> >> >> Jason Pruim >> pruimj@xxxxxxxxx >> >> >> > > Jason, > > Here is my rendition of what you should do. > > <?PHP > > $SQL = "SELECT areacode, prefix > FROM Test > WHERE `areacode` = '907' > AND `prefix` = '200'"; > > $result = mysql_query($SQL); > > $values = ''; > > while( $row = mysql_fetch_assoc($result) ) { > foreach ( range(0, 9999) AS $n ) { > $values .= $row['areacode'] . '-' . $row['prefix'] . '-' . > str_pad($n, 4, '0', STR_PAD_LEFT); > } > } > > echo $values; > > ?> > > It will be much faster if you build the complete string in memory then echo out > the built string. Hey Jim, Would that still hold true with inserting into a database which is the true end of it? This is going to be a one time thing I'm doing and I'm trying to make it a learning experience as I go since that's what everything should be right? > > Jim Lucas -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php