Json的记录显示

问题描述:

<?php require_once('Connections/mycon.php'); ?> 
<?php 

mysql_select_db($database_mycon, $mycon); 
$query_Recordset1 = 'SELECT country.name as country, country_Message.name as Message 
FROM country, country_Message 
WHERE country.id = country_Message.country_id'; 

//$Recordset1 = mysql_query($query_Recordset1) or die(mysql_error()); 

$query_Recordset2='select name from country'; 
$Recordset2=mysql_query($query_Recordset2) or die(mysql_error()); 
$json_output=array(); 


$json_countryoutput=array(); 
while($mainrow=mysql_fetch_assoc($Recordset2)) 
{ 
$json_countryoutput[]=array($mainrow['name']=>$mainrow['name']); 

} 


mysql_free_result($Recordset2); 


$Recordset2=mysql_query($query_Recordset2) or die(mysql_error()); 
while($mainrow=mysql_fetch_assoc($Recordset2)) 
{ 

$Recordset1 = mysql_query($query_Recordset1) or die(mysql_error()); 
while($row=mysql_fetch_assoc($Recordset1)) 
{ 



if(strcmp ($mainrow['name'] , $row['country'])==0) 
{ 
//echo $row['country']; 
$json_output[]=array($mainrow['name']=>$row['Message']); 

/Json的记录显示

/$json_output[]1=array('country'=>$row['country'],'Message'=>$row['Message']); 
} 

mysql_free_result($Recordset1); 

} 
//$json_output=array_merge($json_output, $json_countryoutput); 

echo json_encode(array('item'=>$json_output,'country'=>$json_countryoutput)); 





mysql_free_result($Recordset1); 

出认沽:

{ “项目”:[{ “德”: “你好”},{ “德”: “guten摩根” },{“German”:“gute Nacht”},{“English”:“Hello”},{“English”:“早上好”},{“English”:“晚安”},{“French” “bonjour”},{“French”:“bonne nuit”},{“French”:“bonjour”}],“country”:[{“German”:“German”},{“English” },{“French”:“French”}]}

我想改变基本我有di我希望显示所有记录: {“German”:[{“hello”},{“gutton Morgan”}],“English”:[{“”},{“”}]“法国“:[{”“},{”“}]}

我真的不知道,如果我明白你试图正确,但也许这可能帮助:

$recordSet = mysql_query($queryRecordSet1); 
$results = array(); 
while ($row = mysql_fetch_assoc($recordSet)) { 
    if (isset($results[$row["name"]])) { 
    $results[$row["name"]][] = $row["Message"]; 
    } else { 
    $results[$row["name"]] = array($row["Message"]); 
    } 
} 
echo json_encode($results); 

可以有一些语法错误,但我希望我能够给你这个想法。作为结果集会给你这样的事情:

“德国”,“你好”

“德国”,“gutten标签”

当它们添加到结果集检查,如果“德国”键已经设定或没有设定。如果键存在,那么你应该追加到数组,如果没有,你应该创建一个新的数组,并添加一个新的元素。

+0

谢谢你,你的逻辑是太出色了,让我试试, – saqibabbasi 2013-03-28 09:51:19

+0

$ query_Recordset1 = 'SELECT country.name为国家,为country_Message.name消息 从一个国家,country_Message WHERE country.id = country_Message.country_id'; $ Recordset1 = mysql_query($ query_Recordset1)或死(mysql_error()); $ result = array(); 而($行= mysql_fetch_assoc($ Recordset1)) { 如果(isset($结果[$行[ “国家”]])) { $结果[$行[ “国家”]] [] = $行[ “消息”]; } else { $ result [$ row [“country”]] = array($ row [“Message”]); } } echo json_encode($ result); ?> – saqibabbasi 2013-03-31 07:14:33

+0

{“German”:[“Hello”,“guten Morgen”,“gute Nacht”],“English”:[“Hello”,“早上好”,“晚安”], “:[”bonjour“,”bonne nuit“,”bonjour“]} – saqibabbasi 2013-04-02 22:00:50