mysql/php web project - how can i duplicate

I just created a portal using PHP/MySQL to capture data for a local association and it is something that could be valuable for others in the same business.  What would be the best practice to duplicate the project?  

Essentially, I'd like to be able to add a new top level group in my DB, which would then filter down through the tables already created.  Should i keep it all in one DB or have a new DB created for each new association that may want the portal?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Juan OcasioApplication DeveloperCommented:
You could append to each table for each association.  So if you have a tennis association, and one table is called users, you would name the table tennis_users.  You could also do this append the name to the db and create a new db for each association as well.  

I personally prefer using new databases as it ensures data segragation.

axessJoshAuthor Commented:
yea, but if i wanted the user registration to be more automatic what would i do.  For example, a new person has an association that could use this portal, they can register their information and it creates the necessary DB for them.  Is that too complex a concept for a newbie?
Juan OcasioApplication DeveloperCommented:
That would be too complex.  Theorically, you could set it up where they would enter their association name and if it didn't exist, it would create a new db for them.  If you set it up where there was one admin who would do the initial setup, then this would probably work.  You would then have to have different user levels to ensure someone without admin right couldn't go in and modify the db or create a new one.  

If you went this route, however, the best thing to do is to keep everything in one db and ensure there was no possible way for someone to log in and view someone else's data.  IMO this would be the best way to tackle the problem, especially since you want it 'automated', which I'm guessing you mean without your intervention :)


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
My suggestion is consider the new requirement and modify the existing database accordingly to make it strong. In case if you adding another database for the new one , it would be loosely coupled and you may need put in more stuff get what you desired.  However it depends on what database engine you are using too. In case if you have used INNODB you would find the strong relations where they work perfectly. Since you already have a Database you can assume the requirement and make considerable changes in the structure without affecting the earlier features already you have achieved. This analyse would of making it as common database would be helpful to you to create desire outcome with single datbase. Hope this helps.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Development

From novice to tech pro — start learning today.