2016-08-09 4 views
0

こんにちは、私は日付範囲について、プログラミング研究における新たなんだと、このhttp://www.daterangepicker.com/datepickerから値を取得するには?

を見つけた私はそれを使用する方法に従うが、どのように私は私のPHPにこのコードの日付のデータを得ることができますか? 私はgetを使用しようとするが、そのは

の.php

<?php 
$startDate=$_GET['startDate']; 
$endDate=$_GET['endDate']; 
echo $statDate; 
?> 
<div id="reportrange" class="pull-right" style="background: #fff; cursor:  pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%"> 
<i class="glyphicon glyphicon-calendar fa fa-calendar"></i>&nbsp; 
<span></span> <b class="caret"></b> 

の.js

<script type="text/javascript"> 
    $(function() { 

var start = moment().subtract(29, 'days'); 
var end = moment(); 

function cb(start, end) { 
    $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); 
} 

$('#reportrange').daterangepicker({ 
    startDate: start, 
    endDate: end, 
    ranges: { 
     'Today': [moment(), moment()], 
     'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 
     'Last 7 Days': [moment().subtract(6, 'days'), moment()], 
     'Last 30 Days': [moment().subtract(29, 'days'), moment()], 
     'This Month': [moment().startOf('month'), moment().endOf('month')], 
     'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] 
    } 
}, cb); 

cb(start, end); 

}); 
</script> 

を動作しない日付範囲ピッカーを使用しているとき、あなた

+5

私たちは惑星上のコードの第三者コードのサポート部門ではないようです。 –

答えて

0

フォームなしで行うことはできません。基本的にあなたがしなければならないことは次のとおりです。

<!DOCTYPE html> 
<html dir="ltr" lang="en-US"> 
<head> 
    <meta charset="UTF-8" /> 
    <title>Daterangepicker Test</title> 
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet"> 
    <link rel="stylesheet" type="text/css" media="all" href="daterangepicker.css" /> 
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 
    <script type="text/javascript" src="moment.js"></script> 
    <script type="text/javascript" src="daterangepicker.js"></script> 

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> 
    <!--[if lt IE 9]> 
    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> 
    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> 
    <![endif]--> 
    <style type="text/css"> 
    body { 
     margin: 60px auto; 
     width: 480px; 
    } 
    #reportrange { 
     background: #fff; 
     cursor: pointer; 
     padding: 5px 10px; 
     border: 1px solid #ccc; 
     width: 100%; 
     margin-bottom: 15px; 
    } 
    </style> 
</head> 
<body> 

    <form method="get"> 
     <input type="hidden" id="start" name="startDate"> 
     <input type="hidden" id="end" name="endDate"> 

     <div id="reportrange" class="pull-right"> 
      <i class="glyphicon glyphicon-calendar fa fa-calendar"></i>&nbsp; 
      <span></span> <b class="caret"></b> 
     </div> 

     <input type="submit"> 

     <script type="text/javascript"> 
     $(function() { 
      var start = moment().subtract(29, 'days'); 
      var end = moment(); 

      function cb(start, end) { 
       $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); 
      } 

      $('#reportrange').daterangepicker({ 
       startDate: start, 
       endDate: end, 
       ranges: { 
        'Today': [moment(), moment()], 
        'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 
        'Last 7 Days': [moment().subtract(6, 'days'), moment()], 
        'Last 30 Days': [moment().subtract(29, 'days'), moment()], 
        'This Month': [moment().startOf('month'), moment().endOf('month')], 
        'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] 
       } 
      }, cb); 

      $('#reportrange').on('apply.daterangepicker', function(ev, picker) { 
       $('input#start').val(picker.startDate.format('MM/DD/YYYY')); 
       $('input#end').val(picker.endDate.format('MM/DD/YYYY')); 
      }); 

      cb(start, end); 
     }); 
     </script> 
    </form> 
    <?php 
    if (isset($_GET['startDate']) && isset($_GET['endDate'])) { 
     $startDate = new DateTime($_GET['startDate']); 
     $endDate = new DateTime($_GET['endDate']); 
    ?> 
     <h2>Your chosen period is:</h2> 
    <?php 
     echo '<strong>' . $startDate->format('D, M j, Y') . '</strong> - <strong>' . $endDate->format('D, M j, Y') . '</strong>'; 
    } 
    ?> 
</body> 
</html> 
+0

作品は完璧に感謝:) – Skieth

0

ありがとうございました日付範囲文字列を取得します。 "2016-08-09 10:11:12-2017-05-06 12:34:12"のように、フォーマットされた文字列に気付くかもしれませんが、PHPコードでは別の値を取得する必要があります。

ここに私の解決策です。

<input type="text" id="drpicker"/> 
<input type="hidden" id="start" name="startDate"/> 
<input type="hidden" id="end" name="endDate" /> 

//after you initialized your picker 
picker.on('apply.daterangepicker', function (ev, picker) { 
    var start = picker.startDate.format(dateFormat); 
    var end = picker.endDate.format(dateFormat); 
    $("#start).val(start); 
    $("#end").val(end); 
}); 

ので、あなたはそれはあなたがあなたが入力し、[隠さ]要素にそれを設定することができendDate.ThenあなたがたstartDateの終わりを取得しますselection.And行った後に呼び出されます、コールバックイベントapply.daterangepickerを聞く必要があります。 あなたのサーバー側PHPコードは、別々の日付の値を取得します

関連する問題