Jump to content


Photo

splitting text and numbers


  • Please log in to reply
6 replies to this topic

#1 Woodburn2006

Woodburn2006
  • Members
  • PipPipPip
  • Advanced Member
  • 214 posts

Posted 08 September 2006 - 05:00 PM

im getting a member id from a database in the format of: MEM0001

is there anyway i can split the text and the number, so that i have: MEM and 0001?

everytime i want to add a member i want 1 to be added so that it goes: mem0001, mem0002 etc

i know how to do the latter part, i just need to know how to split the mem from the number so that i can work out what the next one will be.

#2 effigy

effigy
  • Staff Alumni
  • Advanced Member
  • 3,600 posts
  • LocationIL

Posted 08 September 2006 - 05:12 PM

Are the letters always the first 3 characters? If so, use substr, if not, regex.
Regexp | Unicode Article | Letter Database
/\A(e)?((1)?ff(?:(?:ig)?y)?|f(?:ig)?)\z/

#3 robos99

robos99
  • Members
  • PipPipPip
  • Advanced Member
  • 55 posts

Posted 08 September 2006 - 06:17 PM

"everytime i want to add a member i want 1 to be added so that it goes: mem0001, mem0002 etc"

I know you said you know how to do this, but you do realize that the numbered portion is still going to be a string right? So you can't just say $numbers++ because you can't perform math on a string. I'm sure there's a way to convert data types....but I'm not sure off the top of my head.

#4 Woodburn2006

Woodburn2006
  • Members
  • PipPipPip
  • Advanced Member
  • 214 posts

Posted 09 September 2006 - 09:21 PM

cool thanks, i now have the number, but as you said the numbers are in a string and when i try adding 1 to it, all i get is the value being 1, is there any way i can convert this to a number so that i can do maths with it?



#5 extrovertive

extrovertive
  • Members
  • PipPipPip
  • Advanced Member
  • 235 posts

Posted 09 September 2006 - 11:01 PM

How about in your database table, how two fields? ID and memberid? ID will be the auto increment number and memberid will be a string of "member" + ID as a string? Each time you add a member, you take the ID of what was last inserted and then append it to the "member" string then insert it to the memberid field.

#6 kenrbnsn

kenrbnsn
  • Staff Alumni
  • Advanced Member
  • 8,235 posts
  • LocationHillsborough, NJ, USA

Posted 09 September 2006 - 11:24 PM

Did you actually try adding 1 to the number part? Adding a number to a number is a string should work correctly. Copy and run this example:
<?php
$str = "mem0001";
$mem = substr($str,0,3);
$num = substr($str,3);
echo $str . ' => ' . $mem . ',' . $num . '<br>';
$num++;
echo '$num + 1 = ' . $num;
echo '<br>New member number = ' . $mem . sprintf("%04d",$num);
?>

Ken


#7 Woodburn2006

Woodburn2006
  • Members
  • PipPipPip
  • Advanced Member
  • 214 posts

Posted 13 September 2006 - 04:48 PM



it is not adding the mem at the beginning, it is just numbers.

worked fine when i tried it with the code you have but when i used it in my function it dint work

any ideas why it is doing this?




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users