Search code examples
phphtmlmysql

display data from SQL database into php/ html table


I have a database on MySQL and I want to display one of my SQL tables on a HTML or PHP table. I have searched online and cannot implement this feature. Could someone please help me with the coding?

database = 'hrmwaitrose'
username = 'root'
host = 'localhost'

There is no password.

I would like to display the data from the "employee" table.


Solution

  • PHP provides functions for connecting to a MySQL database.

    $connection = mysql_connect('localhost', 'root', ''); //The Blank string is the password
    mysql_select_db('hrmwaitrose');
    
    $query = "SELECT * FROM employee"; //You don't need a ; like you do in SQL
    $result = mysql_query($query);
    
    echo "<table>"; // start a table tag in the HTML
    
    while($row = mysql_fetch_array($result)){   //Creates a loop to loop through results
    echo "<tr><td>" . htmlspecialchars($row['name']) . "</td><td>" . htmlspecialchars($row['age']) . "</td></tr>";  //$row['index'] the index here is a field name
    }
    
    echo "</table>"; //Close the table in HTML
    
    mysql_close(); //Make sure to close out the database connection
    

    In the while loop (which runs every time we encounter a result row), we echo which creates a new table row. I also add a to contain the fields.

    This is a very basic template. You see the other answers using mysqli_connect instead of mysql_connect. mysqli stands for mysql improved. It offers a better range of features. You notice it is also a little bit more complex. It depends on what you need.

    Please note that "mysql_fetch_array" is now deprecated since PHP 5.5.0, and it was removed in PHP 7.0.0. So please take a look in "mysqli_fetch_array()" instead.