dslreports logo
    All Forums Hot Topics Gallery


Search Topic:
share rss forum feed



MySql do an increment based on a php variable

Current results

Desired results
Hi Guys,

I have this table built like this, which assigns a unique articleId starting with zero for each user.

There also is a part which assigns a running serial number (artcStackId) to each article. You'll see in the code.

Thing is, is it somehow possible to assign a artcStackId based on the country of the user? That country code will come from php.

Eg: If it's US then start from 10001+1, if its UK start from 20001+1, if its CA then start from 30001+1 and on & on.

Will it be possible to do this?

My current SQL query goes as follows:

But the way I want it it'll have to go like (this is just an example sql):

Any idea how this can be done? Thanks.

Go Colts
Fort Wayne, IN
Instead of the IF statement, just do something like SELECT MAX(artcStackID) + 1 WHERE artcCountry = inserted_values_country

Maybe there are other design considerations that aren't mentioned that are relevant, but such a ID scheme seems to be poorly suited. What happens when one of the countries has more than 10000 articles? Or if you have more than 9 countries? Why not just keep the field auto-incrementing across all rows? If you need to get a "stack" of articles based on a country, just restrict down the query with a WHERE clause.

By doing this, the table becomes more simplified. Inserts can be done quicker as you aren't having to do multiple lookups, comparisons, and computing the max value on every insert.


This proved to be rather cumbersome. So they whole things been changed.