2014-12-07 39 views
0

我使用多個SQL查詢的數組,然後使用foreach循環運行查詢:把多個值到json_encode

foreach($sql as $query) { 
    $rs=mysql_query($query, $conn); 
    if(mysql_num_rows($rs) > 0){ 
     while($result=mysql_fetch_assoc($rs)) { 
      $json_arr["id"] = $result['sequence']; 
      $json_arr["value"] = $result['company']; 
      $json_arr["label"] = $result['company']; 
      array_push($display_json, $json_arr); 
     } 
    } else { 
     $json_arr["id"] = "#"; 
     $json_arr["value"] = ""; 
     $json_arr["label"] = "No Result Found!"; 
     array_push($display_json, $json_arr); 
    } 
} 

然後我需要使用json_encode並打印結果,如:

$jsonWrite = json_encode($display_json); //encode that search data 
print $jsonWrite; 

我該如何爲所有查詢結果做一個json_encode

+1

將所有數組合並在一起,json對其進行編碼。 – 2014-12-07 21:43:01

+0

我如何合併數組? – user2710234 2014-12-07 21:44:41

+1

你有的代碼應該可以正常工作。你得到什麼,期望的結果是什麼? – redelschaap 2014-12-07 21:44:46

回答

1
foreach($sql as $query) { 
    $rs=mysql_query($query, $conn); 
    if(mysql_num_rows($rs) > 0){ 
     while($result=mysql_fetch_assoc($rs)) { 
      $json_arr["id"] = $result['sequence']; 
      $json_arr["value"] = $result['company']; 
      $json_arr["label"] = $result['company']; 

     } 
     array_push($display_json, $json_arr); 
    } else { 
     $json_arr["id"] = "#"; 
     $json_arr["value"] = ""; 
     $json_arr["label"] = "No Result Found!"; 
     array_push($display_json, $json_arr); 
    } 
} 

將第一個array_push移動到while循環之外,如上所述,將防止您看到的重複。