从php / sql查询/ JSON查询创建jquery变量

时间:2012-05-25 22:45:47

标签: jquery sql arrays json variables

我一直在搜索这个精彩的信息网站,但还没找到我正在寻找的东西,只是点点滴滴。

我是整个JavaScript语言/ jQuery库的新手,但我开始越来越喜欢它可以用它做的事情。

我有一个文件array.php,它打印出json格式的变量,其中包含我想在.datepicker日历中禁用的某些日期。

除了来自sql part的变量之外,我已经完成了整个工作。

这有效:var $BadDates = new Array("2012-05-28","2012-05-29","2012-05-30");

我想要的是这样的事情:

$.getJSON('array.php', function(data) {
var $BadDates = [];
}

我的array.php:

$query = "SELECT * FROM dates";
$query_result = mysql_query($query) or die(mysql_error());

$results = array();


while($row = mysql_fetch_assoc($query_result)) {



  $n["startdate"] = $row['startdate'];


  array_push($results, $n); 
}
print json_encode($results);

这就是我想要完成的事情(我知道这一切都是错的,所以我可以说明我的想法):

$BadDates = new Array("$.getJSON('array.php')");

一直在查看许多解决方案而没有任何运气......

我感谢所有帮助!

/奥斯卡

1 个答案:

答案 0 :(得分:0)

这里没有必要使用AJAX,但我会向您展示两种方式:

首先,由于您的PHP文件正在打印JSON编码的字符串,您可以在PHP生成的页面中将其包含在必要的位置:

<?php
    /* Some php */
?>

<!-- some html -->

<script type="text/javascript">
    var badDates = <?php include('array.php'); ?>;
    /* do something with badDates, which is now a JS array */
</script>

<!-- some more html -->

<?php
    /* Some more php */
?>

它会输出类似:http://codepad.org/4xHlcwig

的内容

对于AJAX检索的数组,您将:

<script type="text/javascript">
    $.ajax({
        url: '/array.php',
        dataType: 'json',
        success: function (data) {
            /* data contains a JS array which was outputted from your file and decoded by jQuery for you */
        }
    });

    /* -OR- your shorthand method */

    $.getJSON('array.php', function(data) {
        /* data contains a JS array which was outputted from your file and decoded by jQuery for you */

    }
</script>