How to Select Data Between Two Dates in PHP/MySQL

February 10, 2021
PHP
Select Data Between Two Dates in PHP MySQL

Tutorial: How to Select Data Between Two Dates in PHP/MySQL with Source Code

Getting Started on How to Select Data Between Two Dates in PHP/MySQL

This tutorial will show you How to Select Data Between Two Dates in PHP/MySQL. This tutorial does not include a good design but will give you knowledge on the said topic. I’ve also included two mysqli methods which are Object-oriented and Procedural in the comments. So, feel free to switch between them.

Creating our Database

First, we’re going to create a database that contains our data.

1. Open phpMyAdmin.

2. Click databases, create a database and name it as “between”.

3. After creating a database, click the SQL and paste the below code. See image below for detailed instruction.

CREATE TABLE `login` (
  `logid` INT(11) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(30) NOT NULL,
  `login_date` datetime NOT NULL,
  PRIMARY KEY(`logid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Select Data Between Two Dates in PHP

Inserting Data Into a Database

Next Step in to insert some data into our database. This will serve as our reference when we select our dates.
1. Click the database “between” that we have created earlier.
2. Click SQL and paste the code below.

INSERT INTO `login` (`username`, `login_date`) VALUES
('nurhodelta', '2017-08-22 07:10:00'),
('lee', '2017-05-22 08:30:00'),
('nurhodelta', '2017-08-22 13:15:00'),
('lee', '2017-03-22 14:00:00'),
('nurhodelta', '2017-05-16 10:30:00'),
('lee', '2017-08-15 20:00:00');

Creating a Connection

Next step is to create a database connection and save it as “conn.php”. This file will serve as our bridge between our form and our database. To create the file, open your HTML code editor and paste the code below after the tag.

<?php
 
//MySQLi Procedural
//$conn = mysqli_connect("localhost","root","","between");
//if (!$conn) {
//  die("Connection failed: " . mysqli_connect_error());
//}
 
//MySQLi Object-oriented
$conn = new mysqli("localhost","root","","between");
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
 
?>

Creating a Form and Table

Lastly, we create our login table, our form and our result table on one page. To create the page, open your HTML code editor and paste the code below after the tag. We name this page as “index.php”.

<!DOCTYPE html>
<html>
<head>
<title>How to Select MySQL Table between Two Dates in PHP</title>
</head>
<body>
<h2>Login Table</h2>
<div>
    <table border="1">
        <thead>
            <th>UserID</th>
            <th>Username</th>
            <th>Login Date</th>
        </thead>
        <tbody>
        <?php
            include('conn.php');
            //MySQLi Procedural
            //$query=mysqli_query($conn,"select * from `login`");
            //while($row=mysqli_fetch_array($query)){
            /*	?>
                <tr>
                    <td><?php echo $row['logid']; ?></td>
                    <td><?php echo $row['username']; ?></td>
                    <td><?php echo $row['login_date']; ?></td>
                </tr>
                <?php */
            //}
 
            //MySQLi Object-oriented
            $query=$conn->query("select * from `login`");
            while($row = $query->fetch_array()) {
                ?>
                <tr>
                    <td><?php echo $row['logid']; ?></td>
                    <td><?php echo $row['username']; ?></td>
                    <td><?php echo $row['login_date']; ?></td>
                </tr>
                <?php 
            }
        ?>
        </tbody>
    </table>
</div><br>
<div>
    <form method="POST">
        <label>From: </label><input type="date" name="from">
        <label>To: </label><input type="date" name="to">
        <input type="submit" value="Get Data" name="submit">
    </form>
</div>
<h2>Data Between Selected Dates</h2>
<div>
    <table border="1">
        <thead>
            <th>UserID</th>
            <th>Username</th>
            <th>Login Date</th>
        </thead>
        <tbody>
        <?php
            if (isset($_POST['submit'])){
                include('conn.php');
                $from=date('Y-m-d',strtotime($_POST['from']));
                $to=date('Y-m-d',strtotime($_POST['to']));
                //MySQLi Procedural
                //$oquery=mysqli_query($conn,"select * from `login` where login_date between '$from' and '$to'");
                //while($orow=mysqli_fetch_array($oquery)){
                /*	?>
                    <tr>
                        <td><?php echo $orow['logid']?></td>
                        <td><?php echo $orow['username']?></td>
                        <td><?php echo $orow['login_date']?></td>
                    </tr>
                    <?php */
                //}
 
                //MySQLi Object-oriented
                $oquery=$conn->query("select * from `login` where login_date between '$from' and '$to'");
                while($orow = $oquery->fetch_array()){
                    ?>
                    <tr>
                        <td><?php echo $orow['logid']?></td>
                        <td><?php echo $orow['username']?></td>
                        <td><?php echo $orow['login_date']?></td>
                    </tr>
                    <?php 
                }
            }
        ?>
        </tbody>
    </table>
</div>
</body>
</html>

Happy Coding!


Related tutorials: Easy and Simple Add, Edit, Delete MySQL Table Rows in PHP with Source Code, How to Create Session in PHP

Download Here
https://www.campcodes.com/

This is a free education portal. You can use every source code in your project without asking permission to the author. Share our website to everyone to make our community of programmers grow more.

    Leave a Reply

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