Find this page online at: http://developers.evrsoft.com/article/web-development/php-mysql/database-driven-websites-what-and-how.shtml

Database driven websites: what and how?

Posted Tuesday, April 15, 2003

Database driven websites: what are they and how are they built?

When I was beginning web design and web programming years back, I remember all the confusing terms, technologies and concepts that were floating around that just made it that much more difficult to wrap my head around the whole web thing. With that in mind, I thought that it might be a good idea to write a few short and hopefully sweet articles that will help people get a clearer understanding of what’s out there and what can be done with it.

This article will attempt to demystify database driven web pages, which are also called ‘dynamic web pages’ or websites. Don’t worry, I am not going to go into sometimes painful mega-geek details about how to create dynamic web pages, instead I will give a brief overview and some ideas of why you would need to build dynamic web pages or dynamic web sites and what tools you would need to build them.

What are dynamic web pages?

To understand dynamic web pages you have to understand normal web pages. Typical non-dynamic web pages do not change every time the page is loaded into the browser, nor do they change if a user clicks on a button. The only change that you will see in static pages is to see them load and unload, like what happens when you click on a hyper link.

In a nutshell: static web pages (normal pages you build) always look the same and the content never changes unless you load a new page or you change the page yourself and upload the new version of the pages unto the server.

Dynamic pages do the opposite, they can change every time they are loaded (without you having to make those changes) and they can change their content based on what user does, like clicking on some text or an image. (I am not talking about loading a new page!)

One of the most common types of dynamic web pages is the database driven type. This means that you have a web page that grabs information from a database (the web page is connected to the database by programming.) and inserts that information into the web page each time it is loaded. If the information stored in the database changes, the web page connected to the database will also change accordingly and automatically without human intervention.

This is commonly seen on online banking sites where you can log in (by entering your user name and password) and check out your bank account balance. Your bank account information is stored in a database and has been connected to the web page with programming thus enabling you to see your banking information. Imagine if the web page holding your banking information had to be built traditionally (that is by hand.) every time your bank balance changed! Even a thousand monkeys working 24/7 drinking 5 cups of coffee a day, would not be able to keep up!

Hopefully you are starting to see why you would want a database driven site; you would want it if your information changes very often, just like in a banking site.

Database driven sites can be built using several competing technologies, each with it’s own advantages. Some of those technologies/tools include:

PHP
JSP
ASP
PEARL
Cold Fusion

I will be writing about these technologies in future articles and newsletters. You now have them listed here for you to research on your own.

To continue …

Database driven web site programming can also be called (or characterized as): ‘server side programming’. The reason it is so called is because the ‘action’ or magic that allows the web pages to connect to the database is actually taking place on the server. What happens is that each time a dynamic web page is about to be sent to the browser, the server automatically builds the page and sends a standard HTML page to the browser. The server knows how to build the page by following the instructions provided by the programmer. This is different from say JavaScript (think drop down menus or alert box’s) that runs strictly in the web browser.

At this point many people are getting very confused, the confusion lies in the difference between server side programming (database driven web pages) versus client side programming (JavaScript).

The other type of dynamic web page: Client side (that is to say: in the browser) or what is commonly called DHTML; dynamic HTML.

DHTML is basically taking HTML and JavaScript (sometimes VB script) to make the web page change it’s own content (as far as the viewer is concerned) without having to reload or load a new page. Examples of DHTML would include drop down menu’s or a ‘floating’ text and image for example: http//www.studioweb.com. Look for the ‘floating’ image on the left hand side of the page. As you scroll the image floats along side staying in view. The above are just very simple examples of what you can do with DHTML and if you look around you will find plenty on the web.

Just a final note on DHTML; it can be very useful (dynamic menus for example.) but it can also be a lot of trouble. Sometimes you are much better off using Flash or just designing your pages so that you don’t need to use dynamic elements.