Joining Table using Left Join PHP/MySQL

Language
This tutorial will show you how to join 2 tables using left join in PHP/MySQLi. Joining tables is used to make 2 or more tables work as 1. In this tutorial, I will give you an idea how left join works and how to join to tables.

Creating our Database

First, we're going to create a database that contains the user data. 1. Open phpMyAdmin. 2. Click databases, create a database and name it as "join_tutorial". 3. After creating a database, click the SQL and paste the below code. See image below for detailed instruction.
  1. CREATE TABLE `user` (
  2.   `userid` INT(11) NOT NULL AUTO_INCREMENT,
  3.   `username` VARCHAR(30) NOT NULL,
  4.   `password` VARCHAR(30) NOT NULL,
  5.    PRIMARY KEY (`userid`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  7.  
  8. CREATE TABLE `user_details` (
  9.   `userid` INT(11) NOT NULL AUTO_INCREMENT,
  10.   `firstname` VARCHAR(30) NOT NULL,
  11.   `lastname` VARCHAR(30) NOT NULL,
  12.    PRIMARY KEY (`userid`)
  13. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
join Notice that we have created two tables in our database namely "user" and "user_details" both having a common column named "userid".

Inserting Data into our Tables

Next, we insert data into our tables. Make sure that the "userid" in one table have the same value in other table. 1. Click our database "join_tutorial". 2. Click SQL and paste the below code.
  1. INSERT INTO `user` (`username`, `password`) VALUES
  2. ('user1', 'user1'),
  3. ('user2', 'user2');
  4.  
  5. INSERT INTO `user_details` (`firstname`, `lastname`) VALUES
  6. ('neovic', 'devierte'),
  7. ('lee', 'ann');

Creating our Connection

Next step is to create a database connection and save it as "conn.php". This file will serve as our bridge between our page and our database. To create the file, open your HTML code editor and paste the code below after the tag.
  1. <?php
  2. $conn = mysqli_connect("localhost","root","","join_tutorial");
  3.  
  4. // Check connection
  5.   {
  6.   echo "Failed to connect to MySQL: " . mysqli_connect_error();
  7.   }
  8. ?>

Creating our Output Table

Lastly, we create a table that will output our query using LEFT JOIN. To create the table, open your HTML code editor and paste the code below after the tag.
  1. <!DOCTYPE html>
  2.         <title>Joining Table using Left Join PHP,MySQLi</title>
  3. </head>
  4.         <table border="1">
  5.                 <thead>
  6.                         <th>Username</th>
  7.                         <th>Password</th>
  8.                         <th>Firstname</th>
  9.                         <th>Lastname</th>
  10.                 </thead>
  11.                 <tbody>
  12.                 <?php
  13.                         include('conn.php');
  14.                         $query=mysqli_query($conn,"select * from `user` left join user_details on user_details.userid=user.userid");
  15.                         while($row=mysqli_fetch_array($query)){
  16.                                 ?>
  17.                                         <tr>
  18.                                         <td><?php echo $row['username']; ?></td>
  19.                                         <td><?php echo $row['password']; ?></td>
  20.                                         <td><?php echo $row['firstname']; ?></td>
  21.                                         <td><?php echo $row['lastname']; ?></td>
  22.                                         </tr>
  23.                                 <?php
  24.                         }
  25.                 ?>
  26.                        
  27.                 </tbody>
  28.         </table>
  29. </body>
  30. </html>

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by SourceCodester.com for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.

FOR YOUR OWN SAFETY, PLEASE:

1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Add new comment