2011-06-29 15 views
0

プロジェクト価格/価格のためのJSONデータを作成したプロジェクトがあります。これまでのところ、壁にぶつかりました。私はWeb上とjQuery.getJSON上のすべてをチェックしましたが、スーパーを混乱させてしまいました。JSON情報をjQuery配列に配置する方法

$data = mysql_query("SELECT * FROM xxx") 
or die(mysql_error()); 

    $arr = array(); 
    $rs = mysql_query("SELECT product, price FROM products"); 
    while($obj = mysql_fetch_object($rs)) { 
    $arr[] = $obj; 
    } 
    echo '{"products":'.json_encode($arr).'}'; 

私は、あなたは、文字列でそれをラップすることなく、あなたのPHPスクリプトでは、このjQueryのスクリプト

 $(document).ready(function() { 
       /*** CONSTANTS ***/ 
       var KEY = 0; 
       var VALUE = 1; 
       /*** DEFINE DATA SETS ***/ 
       var POINTS = [ ["$productA", $PRICE ], ["$productB", $PRICE], ["$productC", $PRICE], ["$productD", $PRICE], ["$productE", $PRICE], ["$productF", $PRICE] ]; 
       var SHIPPING_COSTS = [ ["Pickup", 0], ["Next Day Delivery", 30], ["Same Day Print/Same Day Delivery", 65] ]; 

       for (var i = 0; i < POINTS.length; i++) { 
        $("#quantity").append("<option value='" + POINTS[i][VALUE] + "'>" + POINTS[i][KEY] + "</option>"); 
       } 
       for (var i = 0; i < SHIPPING_COSTS.length; i++) { 
        $("#shipping").append("<option value='" + SHIPPING_COSTS[i][VALUE] + "'>" + SHIPPING_COSTS[i][KEY] + "</option>"); 
       } 

       $("select.autoUpdatePrice, input.autoUpdatePrice").bind("mousedown click change", function(event) { 
        Calculate(); 
       }); 
       Calculate();  
      }); 


     function Calculate() { 
      var net = parseFloat($("#quantity").val()); 
      /* Calculate the magical # by adding the form fields*/ 
      var designFee = $("#abcDesignFee").attr("checked") ? $("#abcDesignFee").val() : 0.0; 
      var proofFee = $("#abcProofFee").attr("checked") ? $("#abcProofFee").val() : 0.0; 
      var MyPrice; 
      MyPrice = parseFloat(parseFloat(proofFee) + parseFloat(designFee) + net + parseFloat($("#shipping").val())); 
      $("#DumpHere").html("Your Price: $" + formatNumber(MyPrice)); 
      $("#abcName").val($("#quantity").find(":selected").text() + " " + ProductNamePlural); 
      $("#abcPrice").val(MyPrice); 
     } 
+0

クライアント/サーバーコードまたは異なる言語を同じコードブロックに入れないでください。 – mikerobi

+0

mike、ありがとう - 私は自分のJSON配列をどのように引っ張っていたか+私のjQueryスクリプトをフィードする方法を知るために一緒に投稿した – David

答えて

1

に製品価格と製品名を取得するには、オブジェクトのちょうどjson_encode()あなたの配列をすることができます必要がありますか?

<?php 

// your script ... 

echo json_encode($arr); 

このJSONエンコードされたオブジェクトの配列を作成します:そうは以下のようにし、代わりにJSONオブジェクトをエンコード

[{"name":"item 1","price":4.99},{"name":"item 2","price":9.99}] 

は、PHPスクリプトを照会するためにあなたのJSでのAJAX要求を作成し、jQueryの$.each()を使用し、返されたJSONデータを反復する$.parseJSON()方法:

$.post('get_products.php', { data: foo }, function(json) { 
    $.each($.parseJSON(json), function(key, product) { 
     console.log(product.name + ' ' + product.price); 
    }); 
}); 

・ホープこのことができます:)

を0
+1

チップのおかげで、私は正しい方向になっていると思うあなたは今、畑で値段を買っています。 – David

1

私が学んでいた - 私は正確に同じ問題を抱えていた - しかし、それは私が一度に実現しなかった何here

に答えてしまったあなたはのONであるオブジェクト表記を(使用することができますということでしたjson)に送信したデータにアクセスします。

あなたが私の質問と選択した答えを見れば、データをjavascriotに送ってすぐに簡単にアクセスできます。私の例では、コード化されたデータを見つけるためにjavascriptでdata.catagory_descを使用するのと同じくらいストレートです。

関連する問題