質問編集履歴
2
データベースの追加、及び投稿済みの文章の若干の修正をしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -300,7 +300,7 @@
|
|
300
300
|
|
301
301
|
|
302
302
|
|
303
|
-
$dsn = 'mysql:host=localhost;dbname=
|
303
|
+
$dsn = 'mysql:host=localhost;dbname=gmatome;charset=utf8mb4';
|
304
304
|
|
305
305
|
$username = 'root';
|
306
306
|
|
@@ -344,7 +344,7 @@
|
|
344
344
|
|
345
345
|
// SQL文 :nameと:romajiは、名前付きプレースホルダ
|
346
346
|
|
347
|
-
$stmt = $dbh->prepare("INSERT INTO
|
347
|
+
$stmt = $dbh->prepare("INSERT INTO matome(car_maker,car_model) VALUES (:car_maker,:car_model)");
|
348
348
|
|
349
349
|
|
350
350
|
|
@@ -419,3 +419,75 @@
|
|
419
419
|
var = $('option:selected').text();を使用するといいようですが、どこにどのように挿入したら
|
420
420
|
|
421
421
|
いいのか分かりませんでした。
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
### データベース
|
426
|
+
|
427
|
+
データベース名car_maker
|
428
|
+
|
429
|
+
テーブル名maker
|
430
|
+
|
431
|
+
|id|maker_name|
|
432
|
+
|
433
|
+
|:--:|:--:|
|
434
|
+
|
435
|
+
|1|TOYOTA|
|
436
|
+
|
437
|
+
|2|HONDA|
|
438
|
+
|
439
|
+
|3|NISSAN|
|
440
|
+
|
441
|
+
|
442
|
+
|
443
|
+
データベース名car_model
|
444
|
+
|
445
|
+
テーブル名model
|
446
|
+
|
447
|
+
|id|maker_id|model_name|
|
448
|
+
|
449
|
+
|:--:|:--:|:--:|
|
450
|
+
|
451
|
+
|1|1|アルファード|
|
452
|
+
|
453
|
+
|2|1|プリウス|
|
454
|
+
|
455
|
+
|3|3|GT-R|
|
456
|
+
|
457
|
+
|4|2|オデッセイ|
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
データベース名gmatome
|
462
|
+
|
463
|
+
テーブル名matome
|
464
|
+
|
465
|
+
|id|date|maker_id|model_name|naiyou|
|
466
|
+
|
467
|
+
|:--:|:--:|:--:|
|
468
|
+
|
469
|
+
|1|1029|TOYOTA|アルファード|オイル交換|
|
470
|
+
|
471
|
+
|2|1030|TOYOTA|アルファード|車検|
|
472
|
+
|
473
|
+
|3|1031|NISSAN|GT-R|速い|
|
474
|
+
|
475
|
+
|4|1101|HONDA|オデッセイ|車検|
|
476
|
+
|
477
|
+
|5|1102|1|2|車検|
|
478
|
+
|
479
|
+
|
480
|
+
|
481
|
+
一番下のgmatomedbのid1~4のようにメーカーと車種が入ってほしいのですが
|
482
|
+
|
483
|
+
id5のようにメーカーと車種が数字で入ってしまいます。
|
484
|
+
|
485
|
+
|
486
|
+
|
487
|
+
会社で使用するものである為、実際のデータは使用しておらず、
|
488
|
+
|
489
|
+
車に置き換えて投稿させて頂いており、間違いが多々ありました。
|
490
|
+
|
491
|
+
その他、gmatomedbの内容記入欄や日付欄などはindex.phpでプルダウン選択と
|
492
|
+
|
493
|
+
同時に記入しdbに入ってくれています。
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
<h1>車</h1>
|
140
140
|
|
141
|
-
<form action="
|
141
|
+
<form action="send.php" method="post">
|
142
142
|
|
143
143
|
<table>
|
144
144
|
|
@@ -198,6 +198,84 @@
|
|
198
198
|
|
199
199
|
|
200
200
|
|
201
|
+
select.php
|
202
|
+
|
203
|
+
```php
|
204
|
+
|
205
|
+
<?php
|
206
|
+
|
207
|
+
//直接のページ遷移を阻止
|
208
|
+
|
209
|
+
$request = isset($_SERVER['HTTP_X_REQUESTED_WITH']) ? strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) : '';
|
210
|
+
|
211
|
+
if($request !== 'xmlhttprequest') exit;
|
212
|
+
|
213
|
+
//DBへの接続
|
214
|
+
|
215
|
+
//本来は db_connect関数 を作成して、DRYにした方が良いです。
|
216
|
+
|
217
|
+
try {
|
218
|
+
|
219
|
+
$dsn = 'mysql:host=localhost;dbname=car_model;charset=utf8';
|
220
|
+
|
221
|
+
$user = 'root';
|
222
|
+
|
223
|
+
$pass = 'root';
|
224
|
+
|
225
|
+
$pdo = new PDO($dsn, $user, $pass, array(PDO::ATTR_EMULATE_PREPARES => false));
|
226
|
+
|
227
|
+
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
228
|
+
|
229
|
+
}
|
230
|
+
|
231
|
+
catch(PDOException $e) {
|
232
|
+
|
233
|
+
exit('データベース接続失敗'.$e->getMessage());
|
234
|
+
|
235
|
+
}
|
236
|
+
|
237
|
+
//Ajaxで渡ってきた値をもとに modelテーブル から該当する model を抽出
|
238
|
+
|
239
|
+
if (!empty($_POST['maker_id'])) {
|
240
|
+
|
241
|
+
$maker_no = $_POST['maker_id'];
|
242
|
+
|
243
|
+
//$maker_no = $_POST['maker_no'];
|
244
|
+
|
245
|
+
$sql = 'SELECT * FROM model WHERE maker_id = :maker_id';
|
246
|
+
|
247
|
+
$stmt=$pdo->prepare($sql);
|
248
|
+
|
249
|
+
$stmt->bindValue(':maker_id', (int)$maker_no, PDO::PARAM_INT);
|
250
|
+
|
251
|
+
$stmt->execute();
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
//抽出された値を $model_list配列 に格納
|
256
|
+
|
257
|
+
$model_list = array();
|
258
|
+
|
259
|
+
while($row = $stmt -> fetch(PDO::FETCH_ASSOC)){
|
260
|
+
|
261
|
+
$model_list[$row['id']] = $row['model_name'];
|
262
|
+
|
263
|
+
}
|
264
|
+
|
265
|
+
header('Content-Type: application/json');
|
266
|
+
|
267
|
+
//json形式で index.php へバックする
|
268
|
+
|
269
|
+
echo json_encode($model_list);
|
270
|
+
|
271
|
+
}
|
272
|
+
|
273
|
+
?>
|
274
|
+
|
275
|
+
```
|
276
|
+
|
277
|
+
|
278
|
+
|
201
279
|
send.php
|
202
280
|
|
203
281
|
```php
|