PHP echo json只有两个类别和多个记录


PHP echo json with only two category and multiple records

嗨,伙计们需要一些帮助。

返回json数组格式,如下所示

{"ttype": [{ "id":"1", "type":"Order No.","code":"ORDNO" },
            {"id":"2", "type":"Orderline", "code":"ORDLINE"} ]
,"input":[{"id":"1","order":"Order No.", "limit":"5"},
{"id":"2","order":"Order No.", "limit":"5"},
{"id":"2", "order":"Order Line No.","limit":"10"}]}
这是我的代码:
$query = "SELECT * FROM `order` WHERE is_deleted = 0 ORDER BY id ASC";
$que = mysql_query($query);
while($row = mysql_fetch_array($que)){
    $id = $row['id'];
    $keyword = $row['keyword'];
    $parameters = $row['parameters'];
    $json = array(
            'ttype'=>array(array(
                'id'=>$id,
                'type'=>'',
                'code'=>$keyword
                )),'input'=>array(array(
                        'id' =>$id,
                        'order'=>'',
                        'limit'=>20
                 ))
        );
    echo json_encode($json);
}

问题是我得到的是:

 {"ttype":[{"id":"1","type":"","code":"ORDNO"}],"input":[{"id":"1","order":"","limit":20}]}{"ttype":    [{"id":"2","type":"","code":"ORDLINE"}],"input":    [{"id":"2","order":"","limit":20}]}

任何想法如何得到正确的格式给出适当的?由于

你必须在while循环上有两个变量,然后用你的结构相应地使你的变量json_encode。这是你完成工作的方式

我的问题已经解决了。

这是我的代码:
$query = "SELECT * FROM `order` WHERE is_deleted = 0 ORDER BY id ASC";
$que = mysql_query($query);
while($row = mysql_fetch_array($que)){
    $id = $row['id'];
    $keyword = $row['keyword'];
    $parameters = $row['parameters'];

    $array1[] = array(
        'id'=>$id,
        'type'=>'',
        'code'=>$keyword
        );
    $array2[] = array(
            'id'=>$id,
            'order'=>'',
            'limit'=>20
        );
}
 $globalarray = array(
                    'ttype'=>$array1,
                    'input'=>$array2
    );
echo json_encode($globalarray);

我现在得到这个结果:

{"ttype":[{"id":"1","type":"","code":"ORDNO"},    {"id":"2","type":"","code":"ORDLINE"}],"input":[{"id":"1","order":"","limit":20},{"id":"2","order":"","limit":20}]}

谢谢你的帮助!尤其是瓦利德·艾哈迈德爵士。我欠你的,你的回答给了我一个想法,使这一切成为可能。

非常感谢!

试试下面的代码

$query = "SELECT * FROM `order` WHERE is_deleted = 0 ORDER BY id ASC";
        $que = mysql_query($query);
        while($row = mysql_fetch_array($que)){
            $id = $row['id'];
            $keyword = $row['keyword'];
            $parameters = $row['parameters'];
            $json[] = array(
                    'ttype'=>array(array(
                        'id'=>$id,
                        'type'=>'',
                        'code'=>$keyword
                        )),'input'=>array(array(
                                'id' =>$id,
                                'order'=>'',
                                'limit'=>20
                         ))
                );
        }
        echo json_encode($json);