0

私はこの素晴らしい情報サイトを検索してきましたが、探しているものを正確には見つけられませんでした。

私はJavaScript言語/jQueryライブラリ全体にかなり慣れていませんが、それを使ってできることでますます好きになり始めています.

.datepicker カレンダーで無効にしたい特定の日付を含む json 形式の変数を出力するファイル array.php があります。

SQL部分の変数を除いて、すべてが機能しています。

これは機能します: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')");

運のない多くのソリューションをチェックしてきました...

私が得ることができるすべての助けに感謝します!

/オスカー

4

1 に答える 1

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>
于 2012-05-25T22:58:46.623 に答える