dongsong4418 2016-09-16 08:28
浏览 70
已采纳

如何使用PHP表单数据选择MySQL日期范围

I have a PHP form which submits data in the following format:

Array ( 
    [zone] => Array ( 
        [0] => East 
    ) 
    [publication] => Array ( 
        [0] => ABP 
    ) 
    [datefilter] => 09/01/2016 - 10/15/2016
)

I use the data to construct a MySQL query as follows:

  $zone_search = $_POST['zone'];
  $zone = join("','",$zone_search);
  $publication_search = $_POST['publication'];
  $publication = join("','",$publication_search);  

  $tmp = "SELECT * FROM advertisement
          WHERE zone IN('$zone')
            AND publication IN('$publication')";

However, I want to limit the data to the two dates given in the $_POST['datefilter'] field. How do I add the date filter dates into my query?

The relevant columns in the database table are:

zone
publication
release_date
  • 写回答

2条回答 默认 最新

  • doumengbai2031 2016-09-17 08:22
    关注

    Add the following logic after the post data. Assumption date data submission follow this pattern small date - large date as per the sample posted data.

    <?
        //$_POST['datefilter'] = '09/01/2016 - 10/15/2016';
        $zone_search = $_POST['zone'];
        $zone = join("','",$zone_search);
        $publication_search = $_POST['publication'];
        $publication = join("','",$publication_search);  
    
    $dates = explode("-", $_POST['datefilter']);
    
    echo $dt1 = date('Y-m-d', strtotime(trim($dates[0])));
    echo "<br/>";
    echo $dt2 = date('Y-m-d', strtotime(trim($dates[1])));
    
    $tmp = "SELECT * FROM advertisement
          WHERE zone IN('$zone')
            AND publication IN('$publication') and release_date between $dt1 and $d2";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据