Learn how to effortlessly showcase your MySQL data on a stunning HTML table with PHP – complete with step-by-step code examples!

Table of content

  1. Introduction
  2. Setting up MySQL
  3. Creating a HTML table
  4. Retrieving data from MySQL
  5. Connecting to MySQL with PHP
  6. Populating the HTML table with MySQL data
  7. Styling the HTML table
  8. Conclusion


If you're working with MySQL data, you're likely looking for a way to display that data on a webpage. But if you're not familiar with PHP, this task can seem daunting at first. Fortunately, with the right tools and a little bit of know-how, you can easily showcase your MySQL data on an elegant HTML table with PHP.

In this guide, we'll take you through the steps needed to create a sleek HTML table that displays your MySQL data using PHP. We'll go over everything from setting up your database connection to writing the PHP code that will generate the HTML table. By the end of this guide, you'll have a better understanding of how PHP works and the skills needed to create impressive data tables for your website. Let's get started!

Setting up MySQL

Before we can start showcasing our MySQL data on a HTML table with PHP, we need to make sure that our MySQL database is properly set up. Here's a step-by-step guide to help you get started:

  1. Install MySQL – If you haven't already, install MySQL on your local system. You can download the MySQL installer from the official website.

  2. Create a new database – Open the MySQL command line interface or any other client that you prefer and create a new database that will store the data you want to display on the HTML table. Here's an example command:

    CREATE DATABASE mydatabase;
  3. Create a table – Once the database is created, create a new table that will hold the data you want to display on the HTML table. Here's an example command:

    CREATE TABLE mytable (
       firstname VARCHAR(30) NOT NULL,
       lastname VARCHAR(30) NOT NULL,
       email VARCHAR(50)

    In this example, we've created a table with four columns – id, firstname, lastname, and email. The id column is an auto-incrementing primary key, which means that each row in the table will have a unique ID. The firstname, lastname, and email columns are all VARCHAR data types, which means they can store string values of up to a certain length.

  4. Insert data – Now that we have our table structure in place, let's insert some data into it. Here's an example command:

    INSERT INTO mytable (firstname, lastname, email)
    VALUES ('John', 'Doe', 'johndoe@example.com'),
           ('Jane', 'Doe', 'janedoe@example.com'),
           ('Bob', 'Smith', 'bobsmith@example.com');

    In this example, we're inserting three rows into the mytable table, with each row containing values for the firstname, lastname, and email columns.

Congratulations! You now have a MySQL database set up with a table containing some data that we can showcase on a HTML table with PHP. In the next section, we'll take a closer look at how to do that.

Creating a HTML table

in PHP is a simple process that requires only a few lines of code. Here’s a step-by-step guide to creating a basic HTML table with PHP:

  1. Define the table structure: The first step is to define the table structure by creating the HTML tags that will be used to create the table.

                <th>Column 1</th>
                <th>Column 2</th>
                <th>Column 3</th>
                <td>Row 1, Column 1</td>
                <td>Row 1, Column 2</td>
                <td>Row 1, Column 3</td>
                <td>Row 2, Column 1</td>
                <td>Row 2, Column 2</td>
                <td>Row 2, Column 3</td>
  2. Loop through the data: Once the table structure is defined, the next step is to loop through the MySQL data using PHP and populate the table rows with the relevant information.

        // Connect to database and select table
        $conn = mysqli_connect("localhost", "username", "password", "database_name");
        $result = mysqli_query($conn, "SELECT * FROM table_name");
        // Loop through table rows and generate HTML table cells
        while($row = mysqli_fetch_array($result)) {
            echo "<tr>";
            echo "<td>" . $row['column1'] . "</td>";
            echo "<td>" . $row['column2'] . "</td>";
            echo "<td>" . $row['column3'] . "</td>";
            echo "</tr>";
  3. Output the HTML table: Finally, the HTML table can be output by echoing the table tags and the PHP code that was used to populate the table rows.

        echo "<table>";
        echo "<thead>";
        echo "<tr>";
        echo "<th>Column 1</th>";
        echo "<th>Column 2</th>";
        echo "<th>Column 3</th>";
        echo "</tr>";
        echo "</thead>";
        echo "<tbody>";
        // Loop through table rows and generate HTML table cells
        while($row = mysqli_fetch_array($result)) {
            echo "<tr>";
            echo "<td>" . $row['column1'] . "</td>";
            echo "<td>" . $row['column2'] . "</td>";
            echo "<td>" . $row['column3'] . "</td>";
            echo "</tr>";
        echo "</tbody>";
        echo "</table>";

With this code, you can create a basic HTML table that displays MySQL data in a clear and organized way. You can also customize the table further by adding CSS styles or additional HTML elements to the table’s structure.

Retrieving data from MySQL

Before we can showcase our MySQL data on an HTML table, we first need to retrieve that data using PHP. Here are the steps to retrieve data from MySQL using PHP:

  1. Establish a connection to the MySQL database using the mysqli_connect() function. You will need to provide the hostname, username, password, and database name as arguments.

    $conn = mysqli_connect('localhost', 'username', 'password', 'database');
  2. Once you have established a connection, you can query the database using the mysqli_query() function. This function takes two arguments: the connection variable and the SQL query.

    $result = mysqli_query($conn, 'SELECT * FROM table');
  3. The mysqli_query() function will return a result set, which you can fetch using the mysqli_fetch_assoc() function. This function takes the result set as an argument and returns an associative array with the column names as the keys and the row values as the values.

    while ($row = mysqli_fetch_assoc($result)) {
        echo $row['column_name'];
  4. Remember to close the database connection using the mysqli_close() function once you are done with the query.


By following these steps, you can retrieve data from MySQL using PHP and prepare it for display on an HTML table.

Connecting to MySQL with PHP

To get started with displaying MySQL data on an HTML table with PHP, you'll first need to connect to your database using PHP. Here are the steps to do that:

  1. First, you'll need to have a MySQL database set up, with a username and password that has permission to access that database.

  2. In your PHP code, you'll need to use the mysqli_connect() function to connect to your MySQL database.

  3. Here's an example of how you might use the mysqli_connect() function:

    $servername = "localhost";
    $username = "your_username";
    $password = "your_password";
    $dbname = "your_database";
    // Create connection
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    // Check connection
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    echo "Connected successfully";

    In this example, you would replace "your_username", "your_password", and "your_database" with the actual values for your MySQL database.

  4. After you've connected to your MySQL database, you can start working with your data using PHP. For example, you might use the mysqli_query() function to perform a query on your database and retrieve some data.

    $sql = "SELECT * FROM your_table";
    $result = mysqli_query($conn, $sql);
    if (mysqli_num_rows($result) > 0) {
        // output data of each row
        while($row = mysqli_fetch_assoc($result)) {
            echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    } else {
        echo "0 results";

    In this example, you would replace "your_table" with the actual name of the table you want to retrieve data from.

  5. Once you've retrieved your data, you'll be ready to display it on an HTML table using PHP. We'll cover the specifics of how to do that in the next section.

    Populating the HTML table with MySQL data

To create a stunning HTML table using PHP, you'll need to populate it with MySQL data. Here's how you can do it:

Connect to the MySQL Database

Before you can access the data in your MySQL database, you need to establish a connection. Here's an example code that shows you how to connect to a MySQL database using PHP:

$server = "localhost";
$username = "root";
$password = "password";
$database = "mydatabase";

$conn = mysqli_connect($server, $username, $password, $database);

if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());

Retrieve Data from MySQL

Once you have established a connection to your MySQL database, you can retrieve data using SQL queries. Here's an example code that shows you how to retrieve data from a table named customers:

$sql = "SELECT * FROM customers";
$result = mysqli_query($conn, $sql);

This code will retrieve all the data from the customers table and store it in the $result variable.

Display Data in HTML Table

Now that you have retrieved the data from MySQL, you can display it in an HTML table using PHP. Here's an example code that shows you how to display the data in an HTML table:

echo "<table>";
echo "<tr><th>Name</th><th>Email</th><th>Phone</th></tr>";
while($row = mysqli_fetch_assoc($result)) {
  echo "<tr><td>".$row["name"]."</td><td>".$row["email"]."</td><td>".$row["phone"]."</td></tr>";
echo "</table>";

This code will display the data in an HTML table with three columns: Name, Email, and Phone. The while loop will iterate through each row in the $result variable and display the data in the table.

With these simple steps, you can easily populate an HTML table with MySQL data using PHP. Give it a try and see how effortless it is to create stunning data visualization with PHP!

Styling the HTML table

Now that we have our data loaded into an HTML table using PHP, we can move on to the next step: styling the table to make it look visually appealing. Here are some tips on how to do this:

1. Use CSS to style the table

CSS stands for Cascading Style Sheets, and it is what web developers use to style HTML content. You can use CSS to change things like font size, font color, background color, and border styles on your HTML table. Here's an example of how to define a CSS style for a table:

table {
  font-family: Arial, sans-serif;
  border-collapse: collapse;
  width: 100%;

This will set the font family to Arial or any other sans-serif font, remove the borders between cells, and set the width of the table to 100%.

2. Apply classes to table elements

If you want to apply a particular style to a specific column or row in your table, you can use the class attribute in your HTML code to give it a name, and then define a CSS rule for that class. For example, if you want to give the first column in your table a blue background color, you can do this:

    <th class="blue-background">Name</th>

And in your CSS code, define the .blue-background class:

.blue-background {
  background-color: blue;
  color: white;

This will give all cells in the first column a blue background color and white text color.

3. Use a CSS framework

If you're not great at designing things from scratch, you might want to consider using a CSS framework like Bootstrap or Foundation. These frameworks come with pre-built styles and components that you can use to quickly and easily create a professional-looking website. For example, to make your table look like a Bootstrap table, you would add the table class to your <table> element:

<table class="table">

And then Bootstrap will take care of the rest, giving your table a neat and clean appearance.

These are just a few tips to get you started on styling your HTML table with PHP. With a little bit of CSS knowledge and some practice, you can turn your boring data into a beautiful and visually engaging table that will impress your users!


In this tutorial, we have learned how to showcase MySQL data on a stunning HTML table using PHP. By following the step-by-step code examples, we have gained knowledge on the following subjects:

  • Connecting to MySQL database using PHP
  • Retrieving data from MySQL database using PHP
  • Formatting and displaying data on an HTML table using PHP
  • Styling the HTML table using CSS

This tutorial should serve as a great starting point for those who are new to PHP and MySQL or who want to learn how to seamlessly integrate MySQL data into an HTML table. In summary, we have learned how to create a powerful web application that can easily showcase data and make it more visually appealing for users. By applying this knowledge, developers can create dynamic and engaging web applications that can impress users and provide powerful insights.

We hope this tutorial has been informative and helpful, and that you can use these skills to build great applications. Feel free to experiment with different styles, formatting options, and CSS layouts, as the possibilities are endless. Thanks for reading!

As a developer, I have experience in full-stack web application development, and I'm passionate about utilizing innovative design strategies and cutting-edge technologies to develop distributed web applications and services. My areas of interest extend to IoT, Blockchain, Cloud, and Virtualization technologies, and I have a proficiency in building efficient Cloud Native Big Data applications. Throughout my academic projects and industry experiences, I have worked with various programming languages such as Go, Python, Ruby, and Elixir/Erlang. My diverse skillset allows me to approach problems from different angles and implement effective solutions. Above all, I value the opportunity to learn and grow in a dynamic environment. I believe that the eagerness to learn is crucial in developing oneself, and I strive to work with the best in order to bring out the best in myself.
Posts created 294

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top