Other than PHP/MySQL, you can also use Microsoft's ASP.NET with SQL Server. Thats what I use to run
www.inoxia.co.uk. It's easy to learn, very structured and all in all a great framework. Plus you can pick what language you use. You can find out more at
www.asp.net - there's loads of tutorials there to get you started reading data from databases and displaying it in datagrids (basically dynamic tables) etc.
I would imagine the reason the site you mentioned looks as though it is using static HTML files is that it is using some sort of URL re-writing. By using URL re-writing you can hide your internal logic from the outside world. This makes it easier for users (the URL looks neater and easier to remember) and helps with search engines. Both PHP and ASP.NET support URL re-writing. An example would be:
Old URL:
http://www.yoursite.com/products.aspx?ProductID=34
Rewritten URL:
http://www.yoursite.com/products/34.html
(but it can get more complex than that)
As for DB design, basically you want a table for each logical seperation of your data. For example, you might have Products, Categories and Manufacturers. So you would have 3 tables names as such. Your columns for Products could be something like:
Unique ID, Product Title, Category ID, Manufacturer ID, Product Description, Cost
Manufacturers might be:
Unique ID, Manufacturer Name, Telephone No, Address
and categories:
Unique ID, Category Name, Category Description
Notice I've given each table a unique ID. Persoanlly, I give every table I make a unique ID (but you don't have to). You use this ID to link the tables. So instead of writing out the category name 50 times for 50 products in the category, you just write the ID. That way, if the category name changes, you don't have to change it 50 times in the DB. Also, it saves memory in the DB and makes it easy to pull from the database just a list of categories. The same logic applied to Manufacturers.
It can get more complicated than this.
www.inoxia.co.uk has 4 tables for the catalogue alone - Sections (Mesh, Chemicals, Misc, Tools), sub categories, product details, and products. (because we sell the same product usually in 2 or 3 different weights or sizes).
That should get you started. There's loads of tutorials on ASP.NET and PHP online, and if you get stuck post back here.
- Mina