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

回答編集履歴

7

変更

2017/05/30 07:54

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -29,7 +29,7 @@
29
29
  $stmt = $dbh->prepare($sql);
30
30
  $stmt->execute();
31
31
  $result = $stmt->fetchAll();
32
- print_r ($result);
32
+ // print_r ($result);
33
33
  ?>
34
34
 
35
35
  <table>

6

変更

2017/05/30 07:54

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -48,9 +48,9 @@
48
48
  }
49
49
  ?>
50
50
  </table>
51
+ ```
51
52
 
52
-
53
- ``````dump
53
+ ```dump
54
54
  Array
55
55
  (
56
56
  [0] => Array

5

追加

2017/05/30 07:53

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  ```php
3
2
  $sql = 'SELECT * FROM TABLE';
4
3
  $stmt = $dbh->prepare($sql);
@@ -22,3 +21,137 @@
22
21
  </table>
23
22
  ```
24
23
  ![イメージ説明](7eae75effa84634169c0aef30d425861.png)
24
+
25
+
26
+ ソースを読みやすくしました。テーブルのdumpを添付します。
27
+ ```php
28
+ $sql = 'SELECT * FROM tbl_c';
29
+ $stmt = $dbh->prepare($sql);
30
+ $stmt->execute();
31
+ $result = $stmt->fetchAll();
32
+ print_r ($result);
33
+ ?>
34
+
35
+ <table>
36
+ <table border="1">
37
+ <?php
38
+ foreach ($result[0] as $key => $val){
39
+ if (is_numeric($key)){
40
+ for($j=0;$j<count($result);$j++){
41
+ echo "<td>". $result[$j][$key] ."</td>\n";
42
+ }
43
+ echo "</tr>\n";
44
+ }else{
45
+ echo "<tr>\n";
46
+ echo "<td>" .$key. "</td>\n";
47
+ }
48
+ }
49
+ ?>
50
+ </table>
51
+
52
+
53
+ ``````dump
54
+ Array
55
+ (
56
+ [0] => Array
57
+ (
58
+ [名前] => 田中
59
+ [0] => 田中
60
+ [身長] => 170cm
61
+ [1] => 170cm
62
+ [体重] => 50kg
63
+ [2] => 50kg
64
+ [性別] => 男性
65
+ [3] => 男性
66
+ [利き腕] => 右利き
67
+ [4] => 右利き
68
+ )
69
+
70
+ [1] => Array
71
+ (
72
+ [名前] => 佐藤
73
+ [0] => 佐藤
74
+ [身長] => 180cm
75
+ [1] => 180cm
76
+ [体重] => 60kg
77
+ [2] => 60kg
78
+ [性別] => 女性
79
+ [3] => 女性
80
+ [利き腕] => 左利き
81
+ [4] => 左利き
82
+ )
83
+
84
+ [2] => Array
85
+ (
86
+ [名前] => 鈴木
87
+ [0] => 鈴木
88
+ [身長] => 190cm
89
+ [1] => 190cm
90
+ [体重] => 70kg
91
+ [2] => 70kg
92
+ [性別] => 男性
93
+ [3] => 男性
94
+ [利き腕] => 右利き
95
+ [4] => 右利き
96
+ )
97
+
98
+ [3] => Array
99
+ (
100
+ [名前] => 加藤
101
+ [0] => 加藤
102
+ [身長] => 170cm
103
+ [1] => 170cm
104
+ [体重] => 50kg
105
+ [2] => 50kg
106
+ [性別] => 女性
107
+ [3] => 女性
108
+ [利き腕] => 左利き
109
+ [4] => 左利き
110
+ )
111
+
112
+ [4] => Array
113
+ (
114
+ [名前] => 吉田
115
+ [0] => 吉田
116
+ [身長] => 180cm
117
+ [1] => 180cm
118
+ [体重] => 60kg
119
+ [2] => 60kg
120
+ [性別] => 男性
121
+ [3] => 男性
122
+ [利き腕] => 右利き
123
+ [4] => 右利き
124
+ )
125
+
126
+ [5] => Array
127
+ (
128
+ [名前] => 浜田
129
+ [0] => 浜田
130
+ [身長] => 190cm
131
+ [1] => 190cm
132
+ [体重] => 70kg
133
+ [2] => 70kg
134
+ [性別] => 女性
135
+ [3] => 女性
136
+ [利き腕] => 左利き
137
+ [4] => 左利き
138
+ )
139
+
140
+ [6] => Array
141
+ (
142
+ [名前] => 松本
143
+ [0] => 松本
144
+ [身長] => 200cm
145
+ [1] => 200cm
146
+ [体重] => 100kg
147
+ [2] => 100kg
148
+ [性別] => 男性
149
+ [3] => 男性
150
+ [利き腕] => 両利き
151
+ [4] => 両利き
152
+ )
153
+
154
+ )
155
+ ```
156
+
157
+

4

変更

2017/05/30 07:51

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,4 +1,4 @@
1
- SQ![イメージ説明](743c35ac73c7758033fc518f970e0527.png)説明](1df2774186ad6d7daa5d9a0db5485744.png)とも考えましたが、PHPでおこないました。(by mysql)
1
+
2
2
  ```php
3
3
  $sql = 'SELECT * FROM TABLE';
4
4
  $stmt = $dbh->prepare($sql);

3

追加

2017/05/30 00:49

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,4 +1,4 @@
1
- SQLでピボットとも考えましたが、PHPでおこないました。(by mysql)
1
+ SQ![イメージ説明](743c35ac73c7758033fc518f970e0527.png)説明](1df2774186ad6d7daa5d9a0db5485744.png)とも考えましたが、PHPでおこないました。(by mysql)
2
2
  ```php
3
3
  $sql = 'SELECT * FROM TABLE';
4
4
  $stmt = $dbh->prepare($sql);
@@ -20,4 +20,5 @@
20
20
  <?php }?>
21
21
  <?php }?>
22
22
  </table>
23
- ```
23
+ ```
24
+ ![イメージ説明](7eae75effa84634169c0aef30d425861.png)

2

追加

2017/05/30 00:48

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -7,6 +7,7 @@
7
7
  ?>
8
8
 
9
9
  <table>
10
+ <table border="1">
10
11
  <?php foreach ($result[0] as $key => $val){ ?>
11
12
  <?php if (is_numeric($key)){ ?>
12
13
  <?php for($j=0;$j<count($result);$j++){ ?>

1

修正

2017/05/29 11:30

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -1,23 +1,22 @@
1
1
  SQLでピボットとも考えましたが、PHPでおこないました。(by mysql)
2
2
  ```php
3
- $sql = 'SELECT * FROM テーブル';
3
+ $sql = 'SELECT * FROM TABLE';
4
4
  $stmt = $dbh->prepare($sql);
5
5
  $stmt->execute();
6
6
  $result = $stmt->fetchAll();
7
-
8
- $title=array('名前','身長','体重','性別','利き腕');
9
- $scale=array('','cm','kg','','');
10
7
  ?>
11
8
 
12
9
  <table>
10
+ <?php foreach ($result[0] as $key => $val){ ?>
11
+ <?php if (is_numeric($key)){ ?>
13
- <?php for ($i=0; $i<count($result[$i])/2; $i++){ ?>
12
+ <?php for($j=0;$j<count($result);$j++){ ?>
13
+ <td><?php echo $result[$j][$key] ?></td>
14
+ <?php }?>
15
+ </tr>
16
+ <?php }else{ ?>
14
- <tr>
17
+ <tr>
15
- <td><?php echo $title[$i] ?></td>
18
+ <td><?php echo $key ?></td>
16
- <?php for($j=0;$j<count($result);$j++){ ?>
17
- <td><?php echo $result[$j][$i].$scale[$i] ?></td>
18
19
  <?php }?>
19
- </tr>
20
20
  <?php }?>
21
21
  </table>
22
-
23
22
  ```