嗨,伙计们需要一些帮助。
返回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);