我正在使用一个包含多个SQL查询的数组,然后使用foreach循环来运行查询:
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
?
答案 0 :(得分: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循环之外,如上所述,将阻止你看到的重复。