Jump to content

Archived

This topic is now archived and is closed to further replies.

Woodburn2006

splitting text and numbers

Recommended Posts

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.

Share this post


Link to post
Share on other sites
Are the letters [i]always[/i] the first 3 characters? If so, use substr, if not, regex.

Share this post


Link to post
Share on other sites
"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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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:
[code]<?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);
?>[/code]

Ken

Share this post


Link to post
Share on other sites


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?

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.