質問編集履歴

2

15時時点

2018/10/27 06:26

投稿

kirin311
kirin311

スコア53

test CHANGED
File without changes
test CHANGED
@@ -323,3 +323,153 @@
323
323
 
324
324
 
325
325
  ```
326
+
327
+
328
+
329
+
330
+
331
+ ###2018/10/27 15時時点の内容
332
+
333
+ index.phpの// MySQL以下を削除し
334
+
335
+ upload.phpにて修正。(先ほどまで、whileの中に$i++;を入れるという発想が思いつかなかった)
336
+
337
+
338
+
339
+ ```ここに言語を入力
340
+
341
+
342
+
343
+ <?php
344
+
345
+
346
+
347
+ //upload.php
348
+
349
+ //ファイルアップロード処理
350
+
351
+
352
+
353
+   //バイナリデータ
354
+
355
+ $fp = fopen($_FILES["file"]["tmp_name"], "rb");
356
+
357
+ $imgdat = fread($fp, filesize($_FILES["file"]["tmp_name"]));
358
+
359
+ fclose($fp);
360
+
361
+ $imgdat = addslashes($imgdat);
362
+
363
+
364
+
365
+ // ファイル名
366
+
367
+ $file_name = $_FILES["file"]["name"];
368
+
369
+
370
+
371
+ // 拡張子
372
+
373
+ $dat = pathinfo($_FILES["file"]["name"]);
374
+
375
+ $extension = $dat['extension'];
376
+
377
+
378
+
379
+ // // 日付
380
+
381
+ $reg_date = date("Y-m-d H:i:s");
382
+
383
+ // $upp_date = date("Y-m-d H:i:s");
384
+
385
+
386
+
387
+
388
+
389
+ // MIMEタイプ
390
+
391
+ if ( $extension == "jpg" || $extension == "jpeg" ) $mime = "jpeg";
392
+
393
+ else if( $extension == "gif" ) $mime = "gif";
394
+
395
+ else if ( $extension == "png" ) $mime = "png";
396
+
397
+
398
+
399
+
400
+
401
+ try {
402
+
403
+ // データベースに接続
404
+
405
+ $pdo = new PDO(
406
+
407
+ 'mysql:dbname=c9;host=localhost;charset=utf8mb4',
408
+
409
+ 'user',
410
+
411
+ 'password',
412
+
413
+ [
414
+
415
+ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
416
+
417
+ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
418
+
419
+ ]
420
+
421
+ );
422
+
423
+
424
+
425
+ $sql = "INSERT INTO `c9`.`Items` VALUES (NULL, '".$file_name."', '".$imgdat."', '".$mime."', '".$reg_date."', '".$reg_date."', '0')";
426
+
427
+ $res = $pdo->query($sql);
428
+
429
+
430
+
431
+ $stmt = $pdo->query("SELECT * FROM Items order by regdate desc");
432
+
433
+
434
+
435
+ $obj = array();
436
+
437
+ $i=0;
438
+
439
+ while($row = $stmt -> fetch(PDO::FETCH_ASSOC)) {
440
+
441
+ // $obj[] = $row;
442
+
443
+ $obj[$i][] = $row['id'];
444
+
445
+ $obj[$i][] = $row['name'];
446
+
447
+ $obj[$i][] = '<img src="data:images/'.$row['mimetype'].';base64,'.base64_encode($row['binary']).'" width="30%" height="30%">';
448
+
449
+
450
+
451
+ $i++;
452
+
453
+ }
454
+
455
+
456
+
457
+ header('Content-type: application/json');
458
+
459
+ return print json_encode($obj,JSON_UNESCAPED_UNICODE);
460
+
461
+ } catch (PDOException $e) {
462
+
463
+ header('Content-Type: text/plain; charset=UTF-8', true, 500);
464
+
465
+ exit($e->getMessage());
466
+
467
+
468
+
469
+ }
470
+
471
+
472
+
473
+ ?>
474
+
475
+ ```

1

インデント修正。

2018/10/27 06:26

投稿

kirin311
kirin311

スコア53

test CHANGED
@@ -1 +1 @@
1
- 画像ドロップしたらMYSQLのSELECT内容更新
1
+ 画像ドロップしたらMYSQLのINSERT実行後、SELECT内容更新
test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- 以上です。
39
+
40
40
 
41
41
  まとめると、「AjaxでInsertかつページを更新の方法手順」となります。
42
42
 
@@ -166,7 +166,7 @@
166
166
 
167
167
  try {
168
168
 
169
- $pdo = new PDO('mysql:host=127.0.0.1;dbname=table;charset=utf8','user','password',
169
+ $pdo = new PDO('mysql:host=127.0.0.1;dbname=c9;charset=utf8','user','password',
170
170
 
171
171
  array(PDO::ATTR_EMULATE_PREPARES => false));
172
172
 
@@ -208,11 +208,11 @@
208
208
 
209
209
  //upload.php
210
210
 
211
- // ファイルアップロード処理
211
+ //ファイルアップロード処理
212
-
213
-
214
-
212
+
213
+
214
+
215
- // バイナリデータ
215
+   //バイナリデータ
216
216
 
217
217
  $fp = fopen($_FILES["file"]["tmp_name"], "rb");
218
218
 
@@ -262,10 +262,6 @@
262
262
 
263
263
  try {
264
264
 
265
-
266
-
267
-
268
-
269
265
  // データベースに接続
270
266
 
271
267
  $pdo = new PDO(
@@ -286,8 +282,6 @@
286
282
 
287
283
  );
288
284
 
289
-
290
-
291
285
 
292
286
 
293
287
  $sql = "INSERT INTO `c9`.`Items` VALUES (NULL, '".$file_name."', '".$imgdat."', '".$mime."', '".$reg_date."', '".$reg_date."', '0')";
@@ -320,10 +314,6 @@
320
314
 
321
315
 
322
316
 
323
-
324
-
325
-
326
-
327
317
  return print $upload_flag;
328
318
 
329
319