2013-08-05 2 views
0

이 쿼리의 결과를 Json 문자열로 Jquery에 전달하여 JQuery 변수에 값을 할당 할 수 있습니다. 실제로는 하나 이상의 키 : 값 쌍이 있지만 단순화를 위해 한 쌍으로 내 문제를 설명하고 있습니다. console.log에 색인 및 값을 지정할 수 있지만 변수에 값을 할당하려고하면 "정의되지 않은"메시지가 나타납니다. 나는 성공적으로 다른 곳에서 이런 짓을하고 내가 여기에없는 누구인지 확실하지 않은 :

$query = (
"SELECT MedCondPrimary, Count(MedCondPrimary) as Count 
FROM Comments 
WHERE MedCondPrimary='Arthritis'"); 

$result = mysqli_query($dbc, $query); 

WHILE($rows = mysqli_fetch_array($result)) { 

$medcond = $rows['MedCondPrimary']; 
$array3[$medcond] = $rows['Count']; 
}; 

$json_count=json_encode($array3); 
    echo $json_count; // {"Arthritis":"26"} 

JQ : VAR 집계 =; console.log (집계); // Object {관절염 = "26"}은 문자열이어야합니까?

$.each(tally, function(index, value) { 
    console.log(index+":"+value);  //Arthritis:26 
    var arthritis = value.Arthritis; 
    console.log(arthritis);   //undefined 
    }); 

답변

1

귀하의 jQuery 코드 대신 여기 $.each()each()를 사용한다. $.each()은 객체의 속성 값 쌍을 통과하면서

$(tally).each(function(index, obj) { 
    console.log(index + ":" + obj.Arthritis); // Arthritis:26 
    var arthritis = obj.Arthritis; 
    console.log(arthritis); // 26 
}); 

each() 오브젝트를 전달한다.

// iterating an array 
$.each([{Arthritis:26}], function(index, obj) { 
    console.log(obj.Arthritis); // 26 
}); 

PHP 편집 :

$json_count=json_encode($array3); 
echo "[" . $json_count . "]"; 
+0

을 그래서 내 질문에 2 부 당신이 그것을 배열을 통과하기 때문에 다음과 같이 당신은 다른 장소에서 $.each()가 작동해야하고 있습니다 : "$ each() 메서드를 사용하려면 PHP 코드에서 무엇을 변경해야합니까?" – user2232681

+0

@ user2232681'[]'을 붙이면됩니다. 업데이트 확인. –

관련 문제