PHP/MySQLに記事のWebサイトがあります。私が誰かに許可したいのは、CSVファイルをアップロードして、それを記事自体の中にテーブルとして表示させることです。何千ものテーブルが簡単に作成される可能性があるため、毎回CREATEテーブルを実行することは避けたいと思います。
このようなテーブル情報を効率的かつ永続的に保存するための最良の方法について考えていますか?
PHP/MySQLに記事のWebサイトがあります。私が誰かに許可したいのは、CSVファイルをアップロードして、それを記事自体の中にテーブルとして表示させることです。何千ものテーブルが簡単に作成される可能性があるため、毎回CREATEテーブルを実行することは避けたいと思います。
このようなテーブル情報を効率的かつ永続的に保存するための最良の方法について考えていますか?
csvデータを単にファイルとして保存することを検討してください。ページがレンダリングされるときに、csvファイルの内容をテーブルとして表示します。JavaScript / jQueryロジックを適用して、ユーザーエクスペリエンスを向上させます(並べ替え、フィルタリングなど)。
csvファイルからの情報をprozesまたはjoinしたくない場合は、リレーショナルmysqlテーブルに格納する必要はありません。
後でデータを操作する場合を除いて、CSVファイルの内容をHTMLテーブルに変換し、記事のhtmlの一部として保存する方がはるかに簡単です。csv to htmlテーブルを単純に検索すると、多くの事前に作成された関数が返されます。一部はphpで返されます。それらをチェックしてください。
CSVごとに新しいデータベーステーブルを作成するのはやり過ぎのように思えます。この方法でデータベーススキーマを変更する必要はありません。代わりに、この種のデータを挿入できるようにスキーマを設計してください。
考えられる解決策の1つは次のとおりです。次を含む1つのテーブルを作成できます。
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');