Datepicker不可用日期(从数据库中检索的数据)

时间:2013-08-07 21:29:14

标签: php javascript jquery json

我正在尝试从我的数据库中获取日期并将它们放在一个数组中,它将存储在json中。

MAIN.PHP

$('#datepicker').focus(function(){
         $.ajax({                                      
        url: 'getDates.php',                   
        data: "artist_name="+$('#name').html(),         
        dataType: 'json',                     
        success: function(data)         
        {

        } 
        });
    })

getDates.php

$fullname = $_GET['artist_name'];
$result = mysql_query("SELECT .... FROM .... WHERE ... ='$fullname'")
$arraydates = array();
while($details = mysql_fetch_assoc($result)) {
      array_push($arraydates, $details['event_date']);   
}
echo json_encode($arraydates);

我设法将所选艺术家的所有日期都放在“arraydates”中。

我在google上发现了这个:

var unavailableDates = ["21-8-2013"];

function unavailable(date) {
    dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
    if ($.inArray(dmy, unavailableDates) == -1) {
        return [true, ""];
    } else {
        return [false, "", "Unavailable"];
    }
}

没关系。但是现在我试图从数组中获取结果(在getDates.php中)并在“main.php”中使用它们。所以基本上我想使用上面的数据和“unavailableDates”数组。 (因此,禁用jquery日期选择器中的特定日期)。

我没有“不可及的日期”,而是“arraydates”。我真的不知道如何在“不可用”功能中使用我的数组。

我对json并不是很好,实际上这是我第一次使用json。那么有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

你可以使用jquery:

//...
success: function(data){
    var arrayLength=data.length;
    for(var i=0;i<arrayLength;i++){
        if(unavailable(data[i]){
            //your code here
        }
    }
}
//...

答案 1 :(得分:0)

ajax将以JSON格式返回$ arraydates。使用parse.JSON(返回值) 例如

success: function(data)         
    {
       var unavailableDates = parse.JSON(data);
       //Your code ....
    } 

希望有所帮助。