如何在php

时间:2016-02-08 04:17:26

标签: javascript php jquery

请帮帮我..我有以下代码..

             //Get the value of Start and End of Week
            $('#weeklyDatePicker').on('dp.change', function (e) {
            var value = $("#weeklyDatePicker").val();
            var firstDate = moment(value, "MM/DD/YYYY").day(0).format("MM/DD/YYYY");
            var lastDate =  moment(value, "MM/DD/yyyy").day(6).format("MM/DD/YYYY");

            $("#weeklyDatePicker").val(firstDate + " - " + lastDate);

            });

现在我想将firstDate和lastDate传递给php。我该怎么做以及如何在php中检索传递的值。我对javascripts不太熟悉。希望有人能帮助我。提前谢谢。

这是我的完整代码.. JS标签

  <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.css" rel="stylesheet"
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.1/moment.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/bootstrap.datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>

HTML

 <div class="input-group" id="DateDemo">
<input type='text' id='weeklyDatePicker' placeholder="Select Week" class="form-control" />
<span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span>

JS

 $("#weeklyDatePicker").datetimepicker({
            calendarWeeks:true,
            format: 'MM/DD/YYYY'

            });

            //Get the value of Start and End of Week
            $('#weeklyDatePicker').on('dp.change', function (e) {
            var value = $("#weeklyDatePicker").val();
            var firstDate = moment(value, "MM/DD/YYYY").day(0).format("MM/DD/YYYY");
            var lastDate =  moment(value, "MM/DD/yyyy").day(6).format("MM/DD/YYYY");
            $("#weeklyDatePicker").val(firstDate + " - " + lastDate);
            alert(firstDate);
            $.post("SAMPLE1.php",{"fdate" : firstDate ,"ldate" : lastDate});
            });


            $('#DateDemo').on('dp.change', function (e) {
            var kk = $("#weeklyDatePicker").val();
             $("#output").html(
            "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Week Number: " + moment(kk, "MM/DD/YYYY").week() + " of " + 
            moment(kk, "MM/DD/YYYY").weeksInYear()
            );
            });

SAMPLE1代码

 <?php
 echo $_POST["fdate"]; //for firstdate
 echo $_POST["ldate"]; //for lastdate
 ?>

4 个答案:

答案 0 :(得分:2)

您可以使用jquery。试试这段代码:

您的JS文件代码:

file copied

你的PHP文件代码(main.php)

$('#weeklyDatePicker').on('dp.change', function (e) {
     var value = $("#weeklyDatePicker").val();
     var firstDate = moment(value, "MM/DD/YYYY").day(0).format("MM/DD/YYYY");
     var lastDate =  moment(value, "MM/DD/yyyy").day(6).format("MM/DD/YYYY");
     $("#weeklyDatePicker").val(firstDate + " - " + lastDate);

     $.post("main.php",{fdate : firstDate ,ldate : lastDate},function(data) {
        alert(data);
    });
});

确保两个文件都在同一个文件夹中。

答案 1 :(得分:0)

Ajax可能是最简单的。

使用Javascript:

$.get("test.php", { firstDate: firstDate, lastDate: lastDate } );

$.post("test.php", { firstDate: firstDate, lastDate: lastDate } );

并在php中

<?php
    echo $_REQUEST['firstDate'];
    echo $_REQUEST['lastDate'];
?>

答案 2 :(得分:0)

嗨Kath Dee请检查以下代码,我希望使用以下代码解决您的问题。

viewbox

test.php的

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
    $('#weeklyDatePicker').on('dp.change', function (e) {
        // I am using test value, you can change var value base on id.
        var firstDate =  '08/02/2016';
        var lastDate  =  '10/02/2016';

        //$("#weeklyDatePicker").val(firstDate + " - " + lastDate);
         $.post("test.php",{fdate : firstDate ,ldate : lastDate},function(data) {
            alert(data);
            $("#weeklyDatePicker").val(data);
        });
    });
</script>

<input type="text" value="" id="weeklyDatePicker" />

我希望这对你有用。

答案 3 :(得分:0)

我会使用$.ajax()函数,这也可以让你处理错误状态,因为这是处理用户错误和指示脚本出错的指标。 / p>

$.ajax({
    url: 'test.php',
    type: 'POST',
    data: {fdate : firstDate ,ldate : lastDate},
    dataType: 'text',
    beforeSend: function(){
        // initiate some spinner or loading infobox
        // to inform the user about the AJAX request
    },
    success: function(response){
        alert(response);
        // you may use result like any standard argument
        // and call or trigger other functions according to its value
    },
    error: function(jqXHR, textStatus, errorThrown){
        alert(textStatus + ': ' + errorThrown);
        // call some error handler or do nothing
    },
    complete: function(){
        // close the spinner or loading box
    }
});

在PHP文件中,变量为$_POST['fdate']$_POST['lDate']。完成查询并获得结果后,echo会出现类似的回复:

echo 'success';

echo 'failure';

根据查询结果。您可以使用任何字符串,而不仅仅是成功或失败。只需不要忘记您将在success功能的$.ajax()部分中处理,而不是error部分。error部分。 dataType: 'text'部分仅用于请求的任何问题(例如,找不到文件或服务器错误)。

嗯,这是一个棘手的部分:如果您想要返回的唯一内容是状态,您可以在$.ajax()函数中使用dataType: 'json',就像我在此示例中所做的那样。但是,如果要返回包含一些有用数据的对象,例如PHP查询出错或PHP查询已完成的内容,那么最好使用$result = ['statusCode'=>1,'details'=>'Some details according to the query here']; echo json_encode($result); 并获取JSON响应。在这种情况下,PHP脚本的结尾也会改变。

$.ajax()

response函数的成功处理程序将获取一个对象作为参数(即alert(response.statusCode); // will alert 1 将是一个对象),您可以这样使用:

UPDATE t 
SET t.col1 = o.col1, 
    t.col2 = o.col2
FROM 
    other_table o 
  JOIN 
    t ON t.id = o.id
WHERE 
    o.sql = 'cool'