dongyuan3094 2017-06-02 06:17
浏览 23
已采纳

日期未正确格式化为字符串

In this code I am converting date format dd-mm-yy to yy-mm-dd. When I echo $from date it gives the correct date (2017-6-1). Similarly with echo $to. But when I echo the query it can't get value of $from, but $to it gets the date correctly. What is the problem with $from?

Here is my code...

<script language='javascript'>
    jQuery(function($)
           { 
               $("#from").datepicker({ dateFormat: 'dd-mm-yy' });
               $("#to").datepicker({ dateFormat: 'dd-mm-yy' });
           });
</script>

<input name="from" id="from" type="text" />
<input name="to" id="to" type="text" />

<?php
    $froms = $_POST['from'];
    list($day, $month, $year) = explode("-", $froms);
    $from = "$year-$month-$day";

    $too = $_POST['to'];
    list($day, $month, $year) = explode("-", $too);
    $to = "$year-$month-$day";

    if($from = "$year-$month-$day" && $to = "$year-$month-$day")
    {
        echo "select * from students where (enquiry_date between '$from' and '$to')";
    }
?>

Result:

select * from students where (enquiry_date between '1' and '2017-06-09') order by student_id
  • 写回答

2条回答 默认 最新

  • dourao1877 2017-06-02 06:22
    关注

    First of all, you need to use '==' instead of '=' when you are comparing.

    Otherwise, I think you are trying to check if the date format is entered correctly.

    If so, replace line:

    if($from = "$year-$month-$day" && $to = "$year-$month-$day")
    

    with this line:

    if(validateDate($from) && validateDate($to))
    

    and make sure you define the function validateDate:

    function validateDate($date)
    {
        $d = DateTime::createFromFormat('Y-m-d', $date);
        return $d && $d->format('Y-m-d') == $date;
    }
    

    function was copied from this answer or php.net

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流
  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积