首页 > 后端开发 > php教程 > 用户自定义数据表中的字段

用户自定义数据表中的字段

WBOY
发布: 2016-06-06 20:48:36
原创
1636 人浏览过

有一个需求,比如客户上传以前的excel表格或者csv文件,导入用户表,是用户信息,包括以下列:昵称,城市,生日,订单号,手机号等,

但在我们的系统中,现有的用户表的字段只有昵称,城市等,没有生日,订单号,手机号等字段。

能否让客户上传文件时,读取表格文件并新建一张表,储存本来用户表中没有的字段信息?

或是把本来没有的字段信息串行化后存入原用户表中的一个特定字段?在前台呈现时,格式化这个特定字段并显示?

哪种可行性更高呢,或是有其他办法?

回复内容:

有一个需求,比如客户上传以前的excel表格或者csv文件,导入用户表,是用户信息,包括以下列:昵称,城市,生日,订单号,手机号等,

但在我们的系统中,现有的用户表的字段只有昵称,城市等,没有生日,订单号,手机号等字段。

能否让客户上传文件时,读取表格文件并新建一张表,储存本来用户表中没有的字段信息?

或是把本来没有的字段信息串行化后存入原用户表中的一个特定字段?在前台呈现时,格式化这个特定字段并显示?

哪种可行性更高呢,或是有其他办法?

如果自定义的字段没有排序,检索方面的需求,还是建议用大字段吧,把非标准字段的数据全部以JSON或数组序列化的格式存到一个大字段中,需要展示的时候再做格式化输出就好了。

如果有排序或检索需求,则可能需要结合一些开源的索引软件比如Apache Lucene来实现了,看具体需求吧。


还有另外一种方式,代码逻辑上可能稍微复杂一点,存储效率也会很低,其实不大建议,但是如果你不是海量数据的话,问题也不大。方法就是建立一张字段足够多的表(user_data),字段命名都采用通用命名方式比如“column1,column2“等,然后专门建立一个表做用户的数据字段对应(user_data_columns),格式如下:

| uid | name | field |
| 101 | 生日 | column1 |
| 101 | 手机号 | column5 |

需要使用的时候,先到user_data_columns表中把相应的字段名和表的字段读取出来,然后到user_data表中去取相应列的数据。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板