从表中的 json 中获取单个项目
Posted
技术标签:
【中文标题】从表中的 json 中获取单个项目【英文标题】:Fetch individual item from json in a table 【发布时间】:2018-07-04 08:40:59 【问题描述】:我有一个包含大量用户的 mysql 表,每个用户都有一个 行(“详细信息”)
用户数据示例:
["D11","E20","E70","E50","D50","G32"]
每个用户可能有更多或没有数据。
目前我通过一个简单的方法为每个用户获取这些数据
while ($row = pg_fetch_array($resultado))
$details = $row["details"];
我想要的是能够从这个“数组”或“json”中选择 1、2、3 和 4 项,不确定它是什么或如何正确格式化它。
我希望能够将第一项保存在自定义变量中,例如
MainDetail = "D11";
我尝试使用 json 编码,序列化,但没有运气:/
【问题讨论】:
你试过$mainDetail = $row["details"][0]
吗?
你的行details
里面有序列化数据还是json数据?
请显示更多您的代码。我认为您使用 ajax 代码和一些 php 函数将 json 编码发送到 ajax。需要帮忙。
我发帖的方式,就是这样。在 varchar 类型的数据中。
保存了哪些数据? ["D11","E20","E70","E50","D50","G32"]
->正是这个?
【参考方案1】:
实际上你已经在列中保存了字符串,你认为它要么是一个数组,要么是序列化/json数据。
请执行以下操作:-
while ($row = pg_fetch_array($resultado))
echo $details = str_replace(array('[','"'),'',explode(",",$row["details"])[0]);
【讨论】:
我爱你,伙计!效果很好! @BWayne 很高兴为您提供帮助。但是尝试为此列创建单独的表,并根据user_id
将每个数据保存为单行。这称为规范化,这是正确的方法。或至少在此特定列中以序列化格式保存数据,而不是字符串格式。数据处理将变得容易以上是关于从表中的 json 中获取单个项目的主要内容,如果未能解决你的问题,请参考以下文章