2016-12-20 6 views
0

두 개의 다른 유형의 데이터를 두 div (#count_boys#count_girls)에 출력하고 싶다고 가정 해 봅시다. 내 목표를 명확히하기 위해 내 html 호출에 data.boysdata.girls을 추가했습니다. 그것이 효과가있는 것은 아니지만, 내가 성취하고자하는 바를 명확히 밝혀줍니다.AJAX 호출에서 여러 값을 반환하는 방법은 무엇입니까?

내 데이터베이스에 내 MySQL DB의 테이블 열로 남아 있다고 가정 해 봅시다.

<?php 
$con = mysqli_connect('localhost', 'root', '', 'coolkidsclub'); 
$query = mysqli_query($con, "SELECT * FROM members"); 

$num = mysqli_num_rows($query); 
echo "$num"; 
mysqli_close($con); 
?> 

나는 PHP 인코딩을 사용하여 이것에 대해 갈 수있는 방법이 될 것이라고 이해 :

function countlist() { 
    var generic; 
    $.ajax({ 
     method: "GET", 
     url: "ajaxcalls/numbercall.php?", 
     data: generic, 
     success: function(data) { 
      //general contractors// 
      $('#count_boys').html(data.boys); 
      $('#count_girls').html(data.girls); 
     } 
    }); 
} 

이제 내 numbercall.php는 다음과 같이 보인다. 그러나 나는 그것을 사용하는 방법에 대해 완전히 확신하지 못합니다.

답변

3

자바 스크립트 AJAX 호출로 데이터를 반환하려면 JSON 인코딩 된 데이터를 사용하십시오.

PHP 데이터 구조, 배열 또는 객체를 만든 다음 json_encode()을 사용하여 JSON String으로 변환하여 자바 스크립트로 다시 보내십시오.

<?php 

$con = mysqli_connect('localhost', 'root', '', 'coolkidsclub'); 
$query = mysqli_query($con, "SELECT count(*) as cnt 
          FROM members 
          WHERE gender = 'boys'"); 

$row = mysqli_fetch_assoc($query); 
$boys = $row['cnt']; 

$query = mysqli_query($con, "SELECT count(*) as cnt 
          FROM members 
          WHERE gender = 'girls'"); 

$row = mysqli_fetch_assoc($query); 
$girls = $row['cnt']; 

echo json_encode(array('boys'=>$boys, 'girls'=>$girls)); 
?> 

지금 JSON이 반환 될 것임을을 알려 자바 스크립트를 변경하고 자동으로

function countlist(){ 
    var generic; 
    $.ajax({ 
     method: "GET", 
     url: "ajaxcalls/numbercall.php?", 
     data: generic, 
     dateType: 'JSON',   // added parameter 
     success: function(data){ 
      //general contractors// 
      $('#count_boys').html(data.boys); 
      $('#count_girls').html(data.girls); 
     } 
    }); 
} 
+1

릭스는 여러 "값"을 반환 할 수 없습니다 다시 보정하는 자바 스크립트 객체에 JSON 문자열로 변환됩니다 배열에서 하나의 값을 반환 할 수 있습니다. –

+0

도움을 주셔서 감사합니다! 나는 이것에 관해서 한 가지만 더 질문했다. 각각의'$ query'는 자체 mysqli 연결을 만듭니다. 더 많은 연결을 열면 문제가 될 수 있습니까? 소년과 소녀 대신에 모든 민족을 배출합니다. – abrahamlinkedin

+0

아니요, 반환 된 JSON 데이터 구조를 원하는만큼 복잡하게 만들 수는 없습니다. – RiggsFolly

관련 문제