2012-06-02 2 views
2

다음 스키마에 따라 데이터베이스 내용을 변수 data에로드해야합니다.변수에 데이터베이스 내용로드

var data = { 
    "62": { 
     sku: "62", 
     section: "bodyImage", 
     img: "images/diy-images/config-images/62.png", 
     label: "plain red", 
     price: "100" 
    }, 
    "63": { 
     sku: "63", 
     section: "bodyImage", 
     img: "images/diy-images/config-images/63.png", 
     label: "plain pink", 
     price: "110" 
    }, 
    "360": { 
     sku: "360", 
     section: "bodyImage", 
     img: "images/diy-images/config-images/360.png", 
     label: "plain gray", 
     price: "120" 
    }, 
};​ 

나는 다음과 같은 기능으로이를 달성하려고 노력했지만 효과가 없습니다. 내가 뭘 놓치고 있니?

var data = (function() { 
    $.ajax({ 
     url: 'get_data.php', 
     data: "", 
     dataType: 'json', 
     success: function(rows) { 
      for (var i in rows) { 
       var row = rows[i]; 

       var id = row[0]; 
       var section = row[1]; 
       var img = row[2]; 
       var label = row[3]; 
       var price = row[4]; 
      } 
     } 
    }); 
});​ 

답변

0
var data = {}; // data variable for future use 
$.ajax({ 
url: '', 
data: '', 
dataType: 'json', 
success: function(rows) { 
    $.each(rows, function(i, val) { 
     var id = val.sku, 
      section = val.section, 
      img = val.img, 
      label = val.label, 
      price = val.price; 
    }); 
    // if you want to update data variable then 
    data[sku] = {sku: sku, img: img, section: section, label: label, price: price}; 
    // to set data to a content 
    $('#output_div').html(JSON.stringify(data)); 
} 
}) 
+0

감사합니다. 그러나 데이터의 출력에는 여전히 문제가 있습니다. div로 출력하면 정의되지 않은 값만 얻습니다. 페이지 상단의 예와 같은 방식으로 결과물을 정확하게 출력해야합니다. –

+0

@Rolf 업데이트 확인 – thecodeparadox

+0

얻을 수있는 유일한 결과는 {}입니다. mysql 쿼리에 문제가있을 수 있습니다 : $ result = mysql_query ("SELECT * FROM table"); $ data = array(); while ($ row = mysql_fetch_row ($ result)) { $ data [] = $ row; } echo json_encode ($ data); –

0

당신은 이름 속성을 해결할 수 :

for (var i in rows) { 
    var row = rows[i];   

    var id = row.sku;   // or var id = i; 
    var section = row.section; 
    var img = row.img; 
    var label = row.label; 
    var price = row.price; 
    ... 
} 
1

당신은에 의해 JSON 개체 값을 얻을 수있다 '.' 운영자

var data = (function() { 

    $.ajax({ 
     url: 'get_data.php', 
     data: "", 
     dataType: 'json', 
     success: function(rows) { 
      for (var i in rows) { 

       var id = row.sku;   
       var section = row.section; 
       var img = row.img; 
       var label = row.label; 
       var price = row.price; 

      } 
     } 
    }); 

});​