2016-12-20 30 views
0

2つの異なるタイプのデータをdivの2つの#count_boys#count_girlsに出力したいとします。私の目標を明確にするために、私はdata.boysdata.girlsをhtmlコールに追加しました。それはうまくいくわけではありませんが、私が達成しようとしていることをうまく明確にします。AJAX呼び出しで複数の値を返す方法は?

自分のデータベースに、私のMySQL DBのテーブルの列として男の子と女の子がいるとしましょう。私はPHPのエンコードを使用すると、このことについて移動するための方法であろうと理解

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

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

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

データをJavaScriptに戻すにはAJAX呼び出しでJSONエンコードされたデータを使用します。

PHPデータ構造体、配列、またはオブジェクトを作成してから、json_encode()を使用してJavaScriptデータをJSON Stringに変換してJavaScriptに送り返すだけです。

<?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が返されるということを伝えるためにはJavaScriptを変更し、それが自動的に

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

リッグスでは、複数の「値」を返すことができませんcorrect-れるjavascriptオブジェクトにJSON文字列から変換されます配列内の単一の値を返すことができます。 –

+0

助けてくれてありがとう!私はこれに関してもう一つの質問しか持っていませんでした。それぞれの '$ query'は独自のmysqli接続を行います。私はもっ​​と多くの接続を抱えているとこれは問題になるでしょうか?同様に、少年少女の代わりに、私はすべての民族性を出力します。 – abrahamlinkedin

+0

いいえ、返されたJSONデータ構造を好きなだけ複雑にすることはできません – RiggsFolly

関連する問題