質問編集履歴

3

データベースへの登録手法を変更してみようと思い、内容を修正しました。

2020/02/19 04:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -54,19 +54,91 @@
54
54
 
55
55
 
56
56
 
57
+ ### 【追記】
58
+
59
+ 皆様からの回答をいろいろ試していくうちに、バルクインサートの使い方の意味を履き違えていたようで、ファイルアップロード処理などを一部省略しましたが、『LOAD DATA INFILE $filepath INTO TABLE `timeworks` FIELDS TERMINATED BY ',' IGNORE 1 LINES; 』を利用してみようと思います。
57
60
 
58
61
 
62
+
63
+ ```PHP
64
+
65
+ <?php
66
+
67
+
68
+
69
+ $dns = "mysql:dbname=general_works;host=localhost";
70
+
71
+ $usr = 'root';
72
+
73
+ $pas = '';
74
+
75
+ $filepath = "../files/月次台帳.csv";
76
+
77
+ $user = 'root';
78
+
79
+ $password = "";
80
+
81
+
82
+
83
+ try {
84
+
85
+ $conn = new PDO( "mysql:host=localhost;dbname=general_works", $user, $password);
86
+
87
+ $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
88
+
89
+
90
+
91
+ $e = "<p>データベースに接続しました。</p>";
92
+
93
+
94
+
95
+ }
96
+
97
+
98
+
99
+ catch(PDOException $e)
100
+
101
+ {
102
+
103
+ header('content-type: text/plain');
104
+
105
+ die("データベース接続に失敗しました。: " . $e->getMessage() . "\n");
106
+
107
+ }
108
+
109
+
110
+
111
+ $stmt = $conn->prepare( "LOAD DATA INFILE $filepath INTO TABLE `timeworks` FIELDS TERMINATED BY ',' IGNORE 1 LINES; " );
112
+
113
+
114
+
115
+ $stmt->execute();
116
+
117
+
118
+
119
+ ?>
120
+
121
+ ```
122
+
59
- こんな感じになっ
123
+ こんな感じにした
60
124
 
61
125
 
62
126
 
63
127
 
64
128
 
65
- 『INSERT INTO ~』使用ようと思っていましたがタイトル行を除外してCSVファイル全データを読込みたいで『Blunk Insert ~』や『LOAD DATA INFILE ~』など一括登録の方法はないでしょうか
129
+ 当初の予定では、最終カラム時間型に定義しているもののおかずのみの注文を集計するよう、整数型変更して使用すいま
66
130
 
67
131
 
68
132
 
133
+ これを皆様からのご指摘もあり、再利用できないことがわかり、再利用をあきらめて、別途「おかずのみ注文」のカラムを追加しようと思います。
134
+
135
+
136
+
69
- 無理に一括登録でなくても構わないアップロード済みCSVファイルの全レコードを、PHPをつかってMysqlに登録するはどうやったいでしょうか。
137
+ 場合、CSVファイルには存在しないカラムを、データベース登録最終カラムに追加しなが登録してく方法は無いものでしょうか。
138
+
139
+
140
+
141
+
70
142
 
71
143
 
72
144
 

2

「確認したこと」に「INSERT INTO (...) VALUE (...)」を追記しました。

2020/02/19 04:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -36,6 +36,8 @@
36
36
 
37
37
  - phpMyAdminからインポートするとき、タイトル行の行数設定を”1”や”2”に設定するも、タイトル行が無視されずにインポートされる。
38
38
 
39
+ - CSVファイルを分解してphpMyAdmin経由で「INSERT INTO (...) VALUE (...)」で登録すると登録可能。登録したデータをもとに、集計結果をCSVデータでダウンロードできるようになっています。
40
+
39
41
 
40
42
 
41
43
  ### 添付ファイル

1

添付資料をダウンローできるよう、OneDriveに設置しました。

2020/02/17 08:19

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -38,6 +38,18 @@
38
38
 
39
39
 
40
40
 
41
+ ### 添付ファイル
42
+
43
+ 下記の通り、資料を添付いたします。
44
+
45
+ - [添付資料.zip](https://1drv.ms/u/s!AiTgomb2j_SlgQeYUFR6pEXHx22B?e=UfiVMj)
46
+
47
+
48
+
49
+ CSVファイルは、氏名部分を匿名にしていますが、内容はほぼ同一のものです。
50
+
51
+ 合わせてテーブル構造をまとめたsqlファイルも併せて添付いたしました。
52
+
41
53
 
42
54
 
43
55