質問編集履歴

1

試したことを追加しました。データベースmatomeのmaker_idをmaker_nameに変更しました。

2021/04/14 00:54

投稿

tapp
tapp

スコア3

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  https://teratail.com/questions/329448
4
4
 
5
- で質問しましたが、自力で突破できなかったので
5
+ で質問しましたが、回答を頂いていたものの自力で突破できなかったので
6
6
 
7
7
  再質問させていただきます。
8
8
 
@@ -158,7 +158,7 @@
158
158
 
159
159
  <?php foreach($maker_list as $key => $maker_name){
160
160
 
161
-
161
+       echo '<option name="" value="'.$key.'">'.$maker_name.'</option>';
162
162
 
163
163
  }?>
164
164
 
@@ -452,7 +452,7 @@
452
452
 
453
453
  テーブル名matome
454
454
 
455
- |id|date|maker_id|model_name|naiyou|
455
+ |id|date|maker_name|model_name|naiyou|
456
456
 
457
457
  |:--:|:--:|:--:|
458
458
 
@@ -494,4 +494,74 @@
494
494
 
495
495
 
496
496
 
497
+ ###試したこと
498
+
499
+ 回答の1で
500
+
501
+ <select name="car_maker">
502
+
503
+ <option id="m1" value="アルファード">アルファード</option>
504
+
505
+ </select>
506
+
507
+ の形式にすればいいとのことでしたので
508
+
509
+ index.phpの
510
+
511
+ <th>メーカー:</th>
512
+
513
+ <td><select class="car_maker" name="car_maker">
514
+
515
+    <option>選択して下さい</option>
516
+
517
+ <?php foreach($maker_list as $key => $maker_name){
518
+
519
+       echo '<option name="" value="'.$key.'">'.$maker_name.'</option>';
520
+
521
+ }?>
522
+
523
+ </select></td>
524
+
525
+ のecho '<option name="" value="'.$key.'">を変えれば良さそうかなとは
526
+
527
+ 思いましたが、どう変えていいかが分かりませんでした。
528
+
529
+ optionのあとにid="'.$key.'"としてみましたがダメでした。
530
+
531
+
532
+
533
+ 回答の2では
534
+
535
+ $sql = "select id, maker_name from car_maker where id = '{$carmaker}'";
536
+
537
+ とのことでしたのでsend.phpを変えればいいように思いましたが、こちらも上記1と同じ理由でどこへ差し込めばいいのかが分かりませんでした。
538
+
539
+
540
+
541
+ ###その他分からないこと
542
+
543
+ index.phpで
544
+
545
+ //makerテーブル から値を取得し、 id と name を $maker_list配列 に格納
546
+
547
+ $sql = "SELECT * FROM maker";
548
+
549
+ $stmt = $pdo->query($sql);
550
+
551
+ $maker_list = array();
552
+
553
+ while($row = $stmt -> fetch(PDO::FETCH_ASSOC)){
554
+
555
+ $maker_list[$row['id']] = $row['maker_name'];
556
+
557
+ と記載されているのにnameを取得できないこと。
558
+
559
+
560
+
561
+
562
+
563
+ ###
564
+
565
+ 1と2の方法、どちらか1つで結構ですので
566
+
497
567
  詳細についてご教示いただけたら幸いです。