Hold System

From: Date: Wed, 14 Jul 2004 18:14:54 +0000
Subject: Hold System
Groups: php.db 
Request: Send a blank email to php-db+get-35243@lists.php.net to get a copy of this message
Hi, I am currently working on a hold system. The system will allow Coordinators to hold international students to place them with American Host Families. I am having a hard time coming up with a good MySQL table design for this process. I have a table now that looks something like: CREATE TABLE hold_tracker ( id int(11) NOT NULL auto_increment, STUDENT_ID int(11) NOT NULL default '0', USER_ID int(11) NOT NULL default '0', valid char(1) NOT NULL default '1', date_held bigint(20) NOT NULL default '0', date_created bigint(20) NOT NULL default '0', PRIMARY KEY (id) ) TYPE=MyISAM AUTO_INCREMENT=12 ; This works okay, for just keep track of who is holding the student. There are some restrictions: 1. A Coordinator may only hold 3 students at a time. (PHP logic, this is done already.) 2. A Coordinator can only hold a student while in the #1 position for a certain amount of time. (I don't have a problem with calculating the time.The problems are: A. What do I do with the record once there hold has expired? B. Also what do I do with the other records that are holding so they get adequate hold times in the number one position?) 3. There can only be 3 holds per student. (PHP logic, this is done already) I can come up with some solutions for Restriction #2, but I feel that they are kind of sloppy with the current table schema. I also think that a better table schema would be in order here. <sloppy_way> After time has expired or the Coordinator has canceled the hold. I can turn the 'valid' field of the record to zero. And update the next Coordinators 'date_held' to the current date. Giving them adequate time to have there hold. </sloppy_way> Has anyone else built a hold system before that might be able to help me out with some pointers? I hope this makes sense. If not please ask for clarification. As always I appreciate any assistance. Thank you, Justin Palmer

« previous php.db (#35243) next »