Json Record展示

时间:2013-03-27 18:07:18

标签: php 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_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);

Out Put:

{“item”:[{“German”:“Hello”},{“German”:“guten Morgen”},{“German”:“gute Nacht”},{“English”:“Hello”} ,{“英语”:“早安”},{“英语”:“晚安”},{“法语”:“bonjour”},{“法语”:“bonne nuit”},{“法语”:“的Bonjour “}],” 国家 “:[{” 德语 “:” 德语 “},{” 英语 “:” 英语 “},{” 法语 “:” 法语“}]}

我想要改变基本上我有不同的国家和每个国家我想显示所有记录:  {“German”:[{“hello”},{“gutton Morgan”}],“English”:[{“”},{“”},“法语”:[{“”},{“”} ]}

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你正确尝试的内容但也许这可能会有所帮助:

$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);

可能存在一些语法错误但我希望我能够给你这个想法。因为结果集会给你这样的东西:

&#34;德国&#34; &#34;你好&#34;

&#34;德国&#34; &#34; gutten tag&#34;

将它们添加到结果集时,请检查&#34;德语&#34;密钥已设置或未设置。如果密钥存在,那么你应该只是附加到数组,如果不存在,你应该创建一个新数组并添加一个新元素。