The concept of a dynamic website means that the content can change based on context. The context can be based on just about anything but it is usually based on user’s log in or query criteria. For example facebook shows displays your timeline based on your login and friends in your network.
In layman’s terms, and generalized, it means that the web pages provide a template and the data is retrieved from a data source (could be a database or another web source). The page layout remains the same but the content changes based upon certain factors. Those factors could be the logged in user or other dynamic parameters.
To make a dynamic website you need a few things, tools if you may.
- HTML – Hypertyext Markup Language – language of the web
- CSS – Cascading Style Sheets – controls layout and formatting
You need HTML because your pages have to render HTML. Most platforms allow some form of middle man for the view. Java has JSP, .Net has razor, PHP well has PHP. Those scripts allow you to combine scripts with HTML. Although these days you can get away with plain HTML and a front end SPA framework/library (Angular, React). The script allows you to combine variable data with html.
So in summary you need these skills at a minimum
- A back end language to server you the data or even dynamic HTML content.
- A database on the back end. The database is usually one of the major database systems such as Oracle, SQL Server, MySQL or a NoSQL DB like MongoDB.
You combine all those to create your dynamic web page.