2012-01-02 12 views
0

にデコードします:httpポストを作った後、PHP側の出力jsonArray、と私はこのPHPコード持っているアンドロイド

if ($merchant_rows > 0){ 
    while($r=mysql_fetch_array($get_merchant)){ 
     $merchant_id = $r['merchant_id']; 
    } 

$sql = "SELECT quest_id, quest_title, quest_price, quest_points FROM quests WHERE merchant_id = '$merchant_id'"; 
$number = mysql_query($sql); 
$rows = mysql_num_rows($number); 

if ($rows > 0){ 
    while($result=mysql_fetch_array($number)){ 
     print(json_encode($result)); 
    } 
} 

とAndroid側を:

String res=response.toString(); 
jObject = new JSONObject(res); 
        JSONArray sessions = jObject.getJSONArray(res); 
       for (int i = 0; i < sessions.length(); i++) { 
       JSONObject session = sessions.getJSONObject(i); 
       Quests quest = new Quests();  
       quest.quest_id = session.getString("quest_id"); 
       quest.title = session.getString("quest_title"); 
       String price = session.getString("quest_price"); 
       quest.dollar_price = "$"+price; 
       String points = session.getString("quest_points"); 
       quest.pts = points + "pts"; 
       quests.add(quest); } 

私の問題は、イムです"getJSONArray"をしようとするが、私はPHP側で配列としてjsonを出力していないと思う?

答えて

0

使用 は、mysql_fetch_array($結果、MYSQL_ASSOC)

または mysql_fetch_assoc()

数字キーからretrive他assoiativeキーから取得

..

if ($merchant_rows > 0){ 
    while($r=mysql_fetch_assoc($get_merchant)){ 
    $merchant_id = $r['merchant_id']; 
} 

$sql = "SELECT quest_id, quest_title, quest_price, quest_points FROM quests WHERE 
merchant_id = '".$merchant_id."'"; 
$number = mysql_query($sql); 
$rows = mysql_num_rows($number); 
$values = array(); 
if ($rows > 0){ 
    while($result=mysql_fetch_assoc($number)){ 
     array_push($values, $result);}} 

print json_encode($values); 

+0

私がしたいですこの配列を "results"として出力します。so {"results":{}} – re1man

+0

このコードをPHP側で試してください –