teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2018/01/23 13:29

投稿

yambejp
yambejp

スコア117912

answer CHANGED
@@ -34,4 +34,24 @@
34
34
  }catch(PDOException $e){
35
35
  exit('データベース接続失敗' . $e->getMessage());
36
36
  }
37
- ```
37
+ ```
38
+
39
+ # db結合
40
+
41
+ ```SQL
42
+ select t1.course_name,t2.size_name from Course as t1
43
+ inner join Size as t2 on t1.course_name=t2.course_name
44
+ ```
45
+ とすれば、以下が得られますね
46
+
47
+ |course_name|size_name|
48
+ |:--:|:--:|
49
+ |グルーミング|小型|
50
+ |グルーミング|中型|
51
+ |グルーミング|大型|
52
+ |トリミング|小型|
53
+ |トリミング|中型|
54
+ |トリミング|大型|
55
+ |シャンプー|小型|
56
+ |シャンプー|中型|
57
+ |シャンプー|大型|

1

追記

2018/01/23 13:29

投稿

yambejp
yambejp

スコア117912

answer CHANGED
@@ -11,4 +11,27 @@
11
11
  $course_name.="<td>".$row['course_name']."</td>";
12
12
  $course_name_array[]=$row['course_name'];
13
13
  }
14
+ ```
15
+
16
+ # 追記
17
+
18
+ 改めて見てみましたが、Courseテーブルからcourse_nameをすべて抜き出してそれに合致する
19
+ sizeを拾っているんですよね?
20
+ であればsql文は1回発行すればよくないですか?
21
+ ただしcourse_nameがどちらかのテーブルでユニークでない場合はm×nのデータが抽出されちゃいますけどね
22
+ ```PHP
23
+ try{
24
+ $sql ="select t1.course_name,t2.Size from Course as t1 ";
25
+ $sql.="inner join Size as t2 on t1.course_name=t2.course_name ";
26
+ $stmt = $pdo -> query();
27
+ $stmt->execute();
28
+ $rows=$stmt->fetchAll(PDO::FETCH_ASSOC);
29
+ foreach($rows as $row) {
30
+ $course_name.="<td>".$row['course_name']."</td>";
31
+ $course_name_array[]=$row['course_name'];
32
+ $size_array=$row['Size'];
33
+ }
34
+ }catch(PDOException $e){
35
+ exit('データベース接続失敗' . $e->getMessage());
36
+ }
14
37
  ```