You could you do MAX(issue_number)+1 where YEAR(date) = Year(NOW()) to get
next issue number for the current year, but if you had 2 people entering
issues at the same time, it wouldn't work so well.  Just trying to give you
a starting point because it seems like you haven't really gotten an answer

> -----Original Message-----
> From: anders thoresson [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, June 25, 2003 11:43 PM
> Subject: [PHP-DB] generating sequence without AUTO_INCREMENT
> Hi,
>  I'm working on a web based article planning system for a news
> paper, based
> on PHP and MySQL. One vital table in the setup will contain release date
> and number for each issue. It's a simple table with just three columns:
>  id, which is the primary key and AUTO_INCREMENT
>  date, which is the release date for each issue
>  issue_number
>  I need help with a solution to automatically create the
> issue_number. The
> conditions is as follow:
>  1. The paper is published every Monday to Friday, except for national
> holidays, so issue_number isn't the same as the day number
>  2. The first issue each year should be number 1, and then the
> rest should
> follow in sequence
>  The first condition is taken care of manually, where one of the editors
> will input a start date and an end date between which the
> newspaper will be
> released Mondays to Fridays. That way I'll handle the national holidays,
> for each year the editors have to enter a couple of date sequences to
> "fence out" the holidays.
>  But keeping track of each and every issue_number manually isn't
> practical.
> I've looked at the MySQL manual, but all I find is LAST_INSERT_ID(). But
> from what I've understood, that function is only useful when it's
> the same
> value that is being updated, and this isn't the case in my problem.
>  So I guess I'll have to write my own function. The solution I think of
> right now is adding new issues in two steps: First adding the
> date for the
> new issue to the table, then checking the issue_number for the
> date before,
> and then adding the issue_number next in turn to the new issue,
> or, if the
> year differs start over from 1 again.
>  Is there a smarter way of doing this?

PHP Database Mailing List (
To unsubscribe, visit:

Reply via email to