Database structure for small student registration system

I am currently doing webpage work for a small management learning institute. I already have the PHP written to interact with my SQL database. Meaning that I can insert the given data into a database. However, when you come to register it will not be automatic. We will receive the contact information (name, address, phone, email, etc... as well as educational background, work experience, how you heard about us, etc...). Then after reviewing it send you information about payment and student number and so forth.

Currently I store all of the information in a contact table, then have to manually copy the same information into a registered table, and manually create student number and username for the person at that time.

I would like to know if there is a better way to organize the table structure (I'm sure there is), and if possible a way to create both a student number and a username automatically. I just recently graduated and this is my first major project and wanted to have the structure well laid out in case the enrollment of the insitute ever becomes large.

Any suggestions are welcome, or if you can point me to any resources that would be great.

I think what you are doing is correct i.e keep the
contacts table and registered table separate.

I feel you should be able to move record from Contacts
table to Registered users table through a PHP script
rather than manually.

So you should be able to browse through the records
in the Contact table, select any one, and then click
on a Register button that would trigger a php script
that copies that record from contact table to the
registered users table. The record should then be
deleted from the Contacts table.

Waltjp - I will most likely be keeping the old contact information in case for some reason there applicant status changes and they need to be re-contacted.

ajaypatil - I do like your idea, and appreciate your support, however I am not sure I have the skills as of yet to produce what you are suggesting. I was hoping to use PHPMyEdit to view and make changes to the DB (I will not always be the one doing the editing so it would be nice to use). However I think this prog only operates on single tables at a time.

Perhaps someone knows of a better program, or can suggest an addition that can help with this problem.

BTW I have renamed my tables to Applicants and Registered, figure it makes more sense this way.

Why not just have a "registered" column in a single "students" table that gets "checked" ("1") if the student is registered? No need for multiple tables or complicated PHP scripts to copy everything between tables.