【发布时间】:2018-11-10 07:29:47
【问题描述】:
我正在尝试从 PhpMyAdmin(Mysql) 获取 JSON(PHP)。它实际上需要看起来像:
[{ “converterno”: ”1”, “zoneno”: {“1a”, “codeid”:[“t1”,”t2”,”t3”]}, “zoneno”: {“1b”, “codeid”:[“t21”,”t0”,”t13”]}},{ “converterno”: ”2”, “zoneno”: {“2a”, “codeid”:[“t023”,”t9”,”t31”]}},………………………..
但我实际上得到的是
[{"converternumber":"1","zonenumber":{"0":"","codeid":["er"]}},{"converternumber":"1","zonenumber":{"0":"wr","codeid":["fxv"]}},{"converternumber":"2","zonenumber":{"0":"b2","codeid":["gffff"]}}]
我不知道为什么我一开始就得到零分
PHP代码是:
<?php
$db_name="app1";
$mysql_user="root";
$server_name="localhost";
$connectionn=mysqli_connect($server_name,$mysql_user,"",$db_name);
$n_converternumber= ["converternumber"];
$n_zonenumber= ["zonenumber"];
$n_codeid= ["codeid"];
$sql_query = "select * from addcode";
$result= mysqli_query($connectionn,$sql_query);
while ($row = mysqli_fetch_array($result)){
if(!isset($info[$row['converternumber']])){
$info[$row['converternumber']] = array(
'converternumber'=> $row['converternumber'],
'zonenumber' => array($row['zonenumber'],
'codeid' => array($row['codeid']))
);
}}
echo json_encode($info);
?>
谁能告诉我在“While”循环中哪里出错了。
浏览了 StackOverFlow 中与 JSON 相关的所有代码,但没有找到更接近或相似的内容。几乎尝试了所有内容并立即发布! 希望我能在这里得到任何帮助!
数据库中的表是: Table addcode
【问题讨论】:
-
我认为 - 与@MadhurBhaiya(对不起)相反 - 你根本不想要 zonenumber 的数组:
...'zonenumber' => $row['zonenumber'], 'codeid' => $row['codeid'].. -
@MadhurBhaiya 和 @mickmackusa ,这不是一个错字或双重要清楚,我在
array( $row['zonenumber']........array($row['codeid]) )打开数组并在此处关闭。我想做这样的事情。 link。所以请重新检查这个问题,也许我不需要区域的数组,但我没有得到想要的结果,我不时地通过放置数组并删除它们来进行试错。希望你能帮助我。请参考@Nigel Ren 解决方案。虽然它不起作用,但我认为他/她很好地理解了这个问题。 -
您对 zone 成为您想要的结果中的字符串值感到高兴吗?如果是这样,请更新您的问题。
-
是的@mickmackusa。区域是“varchar”。在尝试了许多方法后,我也无法得到想要的结果。我将更新我很快尝试过的另一个代码。
-
@mickmackusa 我是重新开放的缺票之一......现在完成。