我的数据库中的数据为
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"} ]
有什么建议吗?
答案 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