PDA

View Full Version : Post foreign key


cal375160
06-16-2010, 07:05 AM
Is there a way to include (as a session variable or something) and post the id from one table into another table as a foreign key. I have a two level registration process I'd like to use for a conference: one registration is the "User" and the other is for one or more "Participants" the User might register. Each Participant could be signed up for several "Activities". What I want to have happen is for the User to be able to register a Participant and then be able to sign him/her up for the activities, so I'd like the User ID ("id") to pass into the Registrant table (where the primary key would be "b-id") as "id" and still have the b-id auto increment.

These two IDs would also then pass into the "Orders" table (where the "o-id" would auto increment) as foreign keys along with a-id from the Activities table, etc.

Does nay of this make sense?

Thanks

Cal

Jason Byrnes
06-16-2010, 08:51 AM
In the DataAssist Insert record behavior, the ID of the record that was just inserted is stored in a session variable. The name of this session variable is set on the first page of the Insert Record Wizard in the Store as column.

When the user registeres the participant, the participant ID will be stored in the session variable. you can use this in the registrant table to set the b-id column.

cal375160
06-17-2010, 04:04 AM
O.K., I still need some help here.

When I create the registration pages for the participants BADGE_Registration and BADGE_Profile there is no session start line at the top of the BADGE_Registration page.

At some point you gave me the following code to start a session:

<?php if(!session_id()) session_start(); ?> // at top of page before anything else OR

But the code at the top of the BADGE_Profile page (to which the BADGE_Registration page redirects so the user can update / correct it) is:

<?php if (!isset($_SESSION)) {
session_start();
}
?>

The User is coming to the BADGE_Registration page through a link I created on the USER_Profile page, and I would like the USERS "id" (primary key on the USERS tabel) to be transferred to the BADGE_Registration page and be inserted into the BADGE database table as the foreign key "id" (I am assuming the primary key, "b_id" will auto increment on the "insert" behavior, right?)

Similarly, the "b_id" and "id" and "a_id" (from the ACTIVITIES table) would need to be inserted into the one of the orders tables, so how this is done (IF it can be done) is important for us.

I hope this is clear. My head is swimming, frankly.

Cal

Jason Byrnes
06-22-2010, 11:10 AM
those two code samples accomplish the same thing, they are the same code only written slightly different.


If the User ID is being passed to the BADGE_Registration using a url variable, then you should bind the foreign key to the URL Variable binding.


As long as the primary key column is set to be Numeric and Auto increment in the database, it will auto increment for you when a record is inserted.