PHP的JSON输出

时间:2013-05-11 20:14:38

标签: php mysql json

我的数据库中的数据为

COl1      | COL2
fruit     | apple, grape, berry
vegetable | tom, pot, leaf

如果我查询水果,我希望COL2读取查询并分割数据,输出echo json_encode($data)应采用以下形式:

[
  {input: "fruit", target: "apple"},
  {input: "fruit", target: "grape"},
  {input: "fruit", target: "berry"} ]

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

如果您的问题是如何将col2值格式化为目标JSON格式。 然后像

那样做
$dbval =  "apple, grape, berry";
$fruits  = explode(",",$dbval);

$json = array();

foreach($fruits as $fruit) {

   $json[] = array("input"=>"fruit","target"=>$fruit);

}

echo json_encode($json)

抱歉,如果我的问题出错了。

答案 1 :(得分:0)

您应该重新考虑数据库设计。你如何看待像这样的表:

category
 - id 
 - name (e.q. fruit or vegetable)

food 
 - id 
 - name (e.q. apple, tom, pot, leaf, ...)

food_has_category
 - id (if necessary)
 - category_id
 - food_id

如果您无法编辑数据库,请尝试分解字符串,根据需要修改数组并将其编码为JSON:http://php.net/manual/de/function.explode.php