I'm new to freelance.co.uk. I've had a look at the data model, and it looks quite a logical design. I'm interested in how you want the database to be integrated with the site. I can expose all the needed functionality through stored procedures that can easily be called in PHP. We would need to discuss the precise pages and functionality you want integrated. Exposing the functionality this way is the neatest solution that makes the code highly maintainable for you, safer from a security perspective, and with far better scalability when under heavy load from increased traffic.
Implementing the database according to the data model you provided is easy. However, I don't yet know how much functionality you want exposed to the scripting environment. I'm basing my quote on a gut feel so some adjustment may be needed.
I can create a suite of stored procedure functions based on the CRUD (Create, Read, Update and Delete) scenarios for each entity in your diagram. For example, in the case of User, the following:
1. CreateUser(name, pw, email, city, district, active, country_id)
2. ReadUser(user_id)
3. EditUser(name, pw, email, city, district, active, country_id)
4. DeleteUser(user_id)
Additionally, you'll want to lookup things like countries or users. I can make the ReadUser() example above return a sorted list of all users if you don't specify the user_id. The same for Countries. This is good for filling out lists etc.
Let me know what you think.
You might need a bit more than this, but I believe this will be a good platform of functionality that will allow you do pretty much anything with your data.
Best regards,
Steve