Re: [PHP] Seating chart registration system?

2003-06-21 Thread Don Read

On 21-Jun-2003 Jay Fitzgerald wrote:
 I am writing a php event registration system for lanparties and I believe
 I have everything written that I need except for a seating selection
 chart.

snip
 
 As a person goes through the event registration system, they will come to
 a 
 page that displays 8 rows of 30 seats (240 seats total)...but in the
 future 
 I would like to have admin capability to increase or decrease this
 amount. 

snip


 Then when the next person decides to register, when they get to that
 page, one less seat will be available. I would like to have as much
 control as  possible and I do know a minor bit of php and mysql.
 
 Any help or guidance is appreciated.
 

programmer doodle

Couple of thoughts ...

Each 'event' is unique to time and place. 
So you'll need a 'event' table with datetime, interval, name,
description and a place (or 'forum' --see next paragraph).

table event (
  id int unsigned auto_inc primary key,
  idforum int unsigned,
  ebeg datetime not null, // begins
  eend datetime not null default '0', // ends
  emin int unsignd default 0, // how long in minutes 
  name varchar(64),
  descript text,
  index idx_b (ebeg),  // might be handy ...
  index idx_f (idforum)
)
 
Each place is (usually) limited to hosting one 'event' at any interval.
But some places can have several events at the same time. Consider a major
hotel and all the conference rooms --or a sports stadium with all the
owner, boxholder's, home-team,  visting-team parties ...

So 'place' is a poor term. I'll suggest using 'forum' as the locale to be
to attend a particular event.

Also you'll have to think about assigned seating and/or general admission
seating. 

Example:

At the downtown Hilton, the local Lions club might reserve the Omega room
w/ 5 seats per 4 tables, general admission. 
But a dinner with President Bush in the Omega room is gonna run like 6
seats @ 40 tables. And definitely assigned seating.

Same room name but clearly a different 'forum'.

It's a toss-up if this should be a field in the 'event' or in the
'forum' table. I go with forum.

So there's another table:

table forum (
  id int unsigned auto_inc primary,
  name varchar(16),
  descript text,
  ftype enum('A', 'G'), // assigned or general seating
  m_block int unsigned not null,// max # of seating blocks
  m_seats int unsigned not null,// seats per block
  block_type enum('row','table','section') not null default 'row',
 // what does m_block encompass?
  seat_limit int unsigned not null default 0,
 // maximum seats (m_block * m_seats where ftype='A')
  unique index (name)
)

Then there is seating. 

When each event/forum is scheduled your app adds m_block * m_seats to 
a seating table.

For general admission add block=x, seat=1 - seat_limit.

 --- 

The 'seating' table is where it gets tricky --and where it gets solved.

table seating (
  idforum int unsigned not null,  // link to forum description.
  block int unsigned not null,// a dinner table or stadium row
  seat int unsigned not null, // d'oh
  guest int unsigned not null default 0, // who has this seat ? 
  primary key (idforum, block, seat),
  INDEX idx_g (guest) // handy stuff.
)

Assigned seating:

As each guest reserves a [optional] seat:
UPDATE seating SET guest='$idguest' 
  WHERE idforum='$idforum' AND block='$idblock' [AND seat='$idseat']
  AND guest=0

General admission:

UPDATE seating SET guest='$idguest' 
  WHERE idforum='$idforum' AND block='$idblock'
  AND guest=0

/programmer doodle

Regards,
-- 
Don Read   [EMAIL PROTECTED]
-- It's always darkest before the dawn. So if you are going to 
   steal the neighbor's newspaper, that's the time to do it.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Seating chart registration system?

2003-06-20 Thread Jay Fitzgerald
I am writing a php event registration system for lanparties and I believe I 
have everything written that I need except for a seating selection chart. I 
dont want to reinvent the wheel if I dont have to and am curious to know if 
something like this has already been written as public source...

If not, I possibly may pay a reasonable fee for one or for someone to write 
it for me...Here is what I need and maybe you could provide a direction for 
me to do research or some logic as to how it can be done...

As a person goes through the event registration system, they will come to a 
page that displays 8 rows of 30 seats (240 seats total)...but in the future 
I would like to have admin capability to increase or decrease this amount. 
When they get to that page it should display all of the open or available 
seats in one color and all of the sold or reserved seats in a different 
color. The registrant will then select an open seat they wish to buy or 
reserve and then take them to the next step in registration where they 
enter their attendee information and pay to attend via paypal or mollyguard.

Then when the next person decides to register, when they get to that page, 
one less seat will be available. I would like to have as much control as 
possible and I do know a minor bit of php and mysql.

Any help or guidance is appreciated.

Jay

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php