ITP 300
Database Web Development
Course Overview
Monday 2-5pm
David Tang
Course Goals
Build dynamic, database-driven websites
Amazon (products)
Yelp (reviews)
Social networks
About Me
- Part-time Lecturer for the past 2 years teaching several web classes. Now Full-time Faculty
- Graduated from USC w/ Bachelors and Masters in ISE
- Worked for 5 years in industry working on the full web stack
Past Projects
Surf spot site
USC apartment review site
Bathroom ratings site
Fraternity / Sorority / Club sites
Course Topics
- Database theory
- Storing data efficiently for retrieval and manipulation
- Accessing and manipulating data using SQL
- Web pages that "talk" to your databases using PHP
Syllabus
(See Syllabus)
Class Intro
- Name
- Major
- What you hope to gain from this class?
- Build a side project?
- More technical knowledge?
- A career in web development?
- etc
Web Page Life Cycle: Static HTML

Web Page Life Cycle: Dynamic Pages

Serving Dynamic Pages
- Certain files can be handed off to a server-side program for PREPROCESSING (.php, .cfm, .asp, etc)
- Server-side code never gets to the client
- Same page or template can be reused for similar types of content
- User profile page, product page, etc
Dynamic Article Page
What types of data are in a news article?
Dynamic Article Page
Headline (VARCHAR)
Byline (VARCHAR)
Date (DATETIME)
Article body (TEXT)
Store each of these pieces of data in the database
Dynamic Pages
- One page / PHP file to display any article stored in DB
- Server-side instructions telling it to:
- Load an article from the database
- Display the different pieces of data from that database record (HEADLINE, DATE, BYLINE, ARTICLE, etc.) in the defined locations
- What is sent to the client after server-side execution is static HTML code
- E-Commerce example
Large Dynamic Pages
- Paginating search results
- Displaying more details about a particular record
- Adding products to shopping carts which is persisted across all pages
ITP 300
By David Tang
ITP 300
- 1,489