【发布时间】:2011-04-29 14:22:58
【问题描述】:
我有一个 PHP/MySQL 的文章网站。我想让某人做的是上传一个 CSV 文件并将其显示为文章本身中的表格。我想避免每次都创建一个表,因为我很容易得到数千个表。
考虑以最佳方式有效且永久地存储此类表信息?
【问题讨论】:
标签: php mysql create-table import-from-csv
我有一个 PHP/MySQL 的文章网站。我想让某人做的是上传一个 CSV 文件并将其显示为文章本身中的表格。我想避免每次都创建一个表,因为我很容易得到数千个表。
考虑以最佳方式有效且永久地存储此类表信息?
【问题讨论】:
标签: php mysql create-table import-from-csv
除非您以后要操作数据,否则将 CSV 文件内容转换为 HTML 表格并将其存储为文章 html 的一部分可能会容易得多。对csv to html table 的简单搜索会返回很多很多预先编写的函数,其中一些在php 中;检查出来。
【讨论】:
考虑将 csv 数据简单地存储为文件。呈现页面时,将 csv 文件的内容显示为表格。应用 JavaScript/jQuery 逻辑以获得更好的用户体验(例如排序、过滤)。
如果您不想处理或加入 csv 文件中的信息,则无需将其存储在关系 mysql 表中。
【讨论】:
为每个 CSV 创建一个新的数据库表听起来有点矫枉过正。您永远不必以这种方式修改您的数据库模式。相反,请以允许插入此类数据的方式设计您的架构。
这是一种可能的解决方案:您可以有一个包含以下内容的表:
SQL:
CREATE TABLE tables(
table_id int,
row_number int,
column_name varchar(50),
cell_value varchar(50)
)
--row 1
INSERT INTO tables VALUES (1, 1, 'name', 'George Washington');
INSERT INTO tables VALUES (1, 1, 'dob', 'April 30, 1789');
--row 2
INSERT INTO tables VALUES (1, 2, 'name', 'John Adams');
INSERT INTO tables VALUES (1, 2, 'dob', 'March 4, 1797');
【讨论】: