这是我的数据库
table name: table_item
id
name
param
在 param feild 中有一些“xml 参数”数据,例如:
{"model":"large","color":"red","number":"1000",}
我可以通过此代码返回名称:
select id,name FROM table_item
并在 php 中像这样打印
foreach($rows as $row)
$name= $row->name;
现在如何返回参数? 例如我想要这样的东西
foreach($rows as $row)
{
$model= $row->param->model;
$color= $row->param->color;
}
我正在使用 php/mysql。
或者这个:
select id,name FROM table_item
where param->color="red" or param->color="yellow"
最佳答案
为名称/值对创建一个附加表,并使用 item_id
将其链接到您的第一个表
table: param
id p_name value item_id
---------------------------------
1 model large 1
2 color red 1
3 number 1000 1
更改原始表:
table: item
id name
------------------------
1 round neck cotton t-shirt
然后你可以:
SELECT item.id, item.name, param.p_name, param.value FROM item
LEFT JOIN param ON item.id = item_id
WHERE param.p_name = 'color' AND param.value = 'red';
结果:
id name p_name value
-------------------------------------------------
1 round neck cotton t-shirt color red
查看它的工作情况:http://sqlfiddle.com/#!2/07ab2/1
关于php - 返回 mysql 字段中的 xml 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21970215/