在PHP MySQL中设置日期范围

时间:2016-11-14 01:27:40

标签: php mysql date

我想问一下

如何在PHP中设置日期范围?

我在mysql数据库中有行数据

date_from:2016-11-01和date_to:2016-11-15

我想要实现的是我想要显示并错误"重复日期" 如果用户输入

  1. date_from:2016-11-01,date_into:2016-11-15(日期与范围相同)
  2. 日期:2016-01-02,date_into:2016-11-17(其中一个日期在范围内)
  3. 日期:2016-11-02,date_into:2016-11-04(两个数据都在范围内)
  4. 以下代码

    <?php
        $connect      = mysqli_connect("localhost", "", "", "");
        global $connect;   
    
        if(isset($_POST['SendDate']))
        {
            $user_id = $_POST['user_id'];
            $dtfrom_user    = $_POST['dtfrom'];
            $dtfrom_convert = strtotime($dtfrom_user);
            $dtfrom         = date("Y-m-d", $dtfrom_convert);
    
            $dtto_user      = $_POST['dtfrom'];
            $dtto_convert   = strtotime($dtto_user);
            $dtto           = date("Y-m-d", $dtto_convert);
    
            $sql = "SELECT * FROM movement WHERE user_id = '".$user_id."' AND dtfrom >= '".$dtfrom."' AND <= dtto '".$dtto."'";
            $get = mysqli_query($connect,$sql);
            if($get && mysqli_num_rows($get) > 0 )
            {
                while($result = mysqli_fetch_array($get))
                {
                    $dtfrom_db = $result['dtfrom'];
                    $dtto_db   = $result['dtto'];
    
                    if(($dtfrom >= $dtfrom_db) && ($dtto <= $dtto_db))
                    {
                        echo "error";   
                    }
                    else
                    {
                        echo "Added";
                    }
                }
            mysqli_free_result($get);
            }
            else
            {
                echo "Not found!";
                echo mysqli_error($connect);
            }
        }
    ?>
    <form action="date.php" method="POST">  
        <table> 
            <tr>
                <td></td>
                <td>User ID :</td>
                <td><input type ="text" name="user_id"></td>
            </tr>
            <tr>
                <td></td>
                <td>Date from : </td>
                <td><input type ="date" name="dtfrom"></td>
            </tr>
            <tr>
                <td></td>
                <td>Date to : </td>
                <td><input type ="date" name="dtto"></td>
            </tr>
        </table>    
        <p><input type ="submit" name="SendDate" value="Submit"> </p>               
    </form>
    
    p / s:我已经尝试过其他问题的解决方案,但到目前为止还没有运气。

    感谢有人可以提供帮助。

    感谢。

0 个答案:

没有答案