Introduction
One of PHP’s greatest strengths is its ability to generate dynamic content. Unlike static HTML, dynamic content is generated in real-time based on user interactions, database queries, or other conditions.
Why Dynamic Content?
Dynamic content makes websites more engaging and personalized. Examples include:
- Displaying a user’s name after login.
- Showing real-time data, like stock prices or weather updates.
- Customizing content based on user preferences.
Basic Example of Dynamic Content
Let’s start with a simple example where PHP generates a personalized greeting:
<!DOCTYPE html>
<html>
<head>
<title>Dynamic Content Example</title>
</head>
<body>
<?php
$hour = date("H");
if ($hour < 12) {
echo "<h1>Good Morning!</h1>";
} elseif ($hour < 18) {
echo "<h1>Good Afternoon!</h1>";
} else {
echo "<h1>Good Evening!</h1>";
}
?>
<p>Welcome to our site!</p>
</body>
</html>
PHPExample Explained
- Real-Time Data: The PHP
date("H")
function retrieves the current hour. - Conditional Statements: The
if
,elseif
, andelse
statements determine the greeting based on the time of day. - Output: The greeting message changes dynamically depending on when the user visits the site.
Advanced Dynamic Content: Fetching Data from a Database
A more advanced use of dynamic content is fetching and displaying data from a database. Here’s an example:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
PHPExample Explained
- Database Connection: The script connects to a MySQL database using
mysqli
. - SQL Query: The
SELECT
query fetches data from the database. - Loop: The
while
loop iterates through the results and displays each record dynamically.
Conclusion
Dynamic content generation with PHP is a powerful feature that allows you to create interactive, personalized, and real-time web experiences. Whether you’re displaying a simple greeting or fetching data from a database, PHP makes it easy to generate content that responds to your users’ needs.