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

質問編集履歴

2

2019/10/10 16:11

投稿

runmaru.
runmaru.

スコア4

title CHANGED
File without changes
body CHANGED
@@ -1,78 +1,190 @@
1
1
  PHPのfor文を使って
2
2
  計算ツールを作成したいです。
3
3
 
4
- 計算は足し算だけなのですが
5
- 1(入力した数字)+(select)=(合計)
6
- 2(入力した数字)+(select)=(合計)
7
- 3(入力した数字)+(select)=(合計)
8
- 4(入力した数字)+(select)=(合計)
9
- 5(入力した数字)+(select)=(合計)
10
4
 
11
- 最後に5つの総合計を計算させたいのですが、なかなかうまく行きません。
12
5
 
6
+ 計算は
13
- 一部記載させていだきます。
7
+ 1(入力し数字)×(select)=(合計)
14
- ```ここに言語を入力
8
+ 2(入力した数字)×(select)=(合計)
9
+ 3(入力した数字)×(select)=(合計)
10
+ 4(入力した数字)×(select)=(合計)
11
+ 5(入力した数字)×(select)=(合計)
15
12
 
13
+ 最後に5つの総合計を計算。
14
+
15
+ ※下記のコードでは1つしか表示していないです。
16
+
17
+ 今回やりたいこと
18
+ 5つ計算させることと総合計を計算をしたい。また、コードを見やすくしたいと思っております。
19
+
20
+ 試したこと
21
+ 関数とfor文を使ってまとめようとしましたが、for文の中で計算させようと思いましたが、何度やってもうまくいかずに行き詰まってます。
22
+
23
+
24
+ HTML
25
+
26
+ ```
27
+ <body>
28
+
29
+   <form method="GET" action="index2.php">
30
+
31
+ <fieldset>
32
+ <legend>交通費</legend>
33
+ <label>
34
+ <table>
16
- <tr>
35
+ <tr>
36
+ <th>交通機関</th>
37
+ <th>単価</th>
38
+ <th>利用区分</th>
39
+ <th>合計</th>
40
+ </tr>
41
+ <tr>
17
- <td>
42
+ <td>
18
- <select class="select1">
43
+ <select>
19
44
  <option>地下鉄</option>
20
45
  <option>JR来線</option>
21
- <option>JR新幹線</option>
22
- <option>阪急</option>
23
- <option>京阪</option>
24
46
  </select>
25
- </td>
47
+ </td>
26
- <td>
48
+ <td>
27
- <input type="text" class="price">
49
+ <input type="text" name="price">
28
- </td>
50
+ </td>
29
- <td>
51
+ <td>
30
- <select class="traffic">
52
+ <select name="select">
31
53
  <option value="0"></option>
32
54
  <option value="1">片道</option>
33
55
  <option value="2">往復</option>
34
56
  </select>
35
- </td>
57
+ </td>
36
- <td>
58
+ <td>
37
- <input type="text" class="total">
59
+ <input type="text" name="total">
38
- </td>
60
+ </td>
39
61
  </tr>
40
-
62
+ <!-- <tr>
41
- <?php
63
+ <td>
42
- $price = $_POST[‘price’];
64
+ <select>
43
- $traffic = $_POST['traffic']
44
- $total = $_POST['total'];
65
+ <option>地下鉄</option>
45
-
46
- if ($price == "") {
47
- echo "<span>※半角数字を入力してください</span>";
66
+ <option>JR来線</option>
67
+ </select>
68
+ </td>
69
+ <td>
48
- $price = ""; $traffic = "";
70
+ <input type="text" name="price">
71
+ </td>
72
+ <td>
49
- } else if ($traffic == "") {
73
+ <select name="select">
74
+ <option value="0"></option>
50
- echo "<span>※半角数字を入力してください</span>";
75
+ <option value="1">片道</option>
76
+ <option value="2">往復</option>
77
+ </select>
78
+ </td>
79
+ <td>
51
- $price = ""; $traffic = "";
80
+ <input type="text" name="total">
81
+ </td>
82
+ </tr>
83
+ <tr>
84
+ <td>
85
+ <select>
52
- } else if (!is_numeric($price)){
86
+ <option>地下鉄</option>
53
- echo "<span>※半角数字を入力してください</span>";
87
+ <option>JR来線</option>
88
+ </select>
89
+ </td>
90
+ <td>
54
- $price = ""; $traffic = "";
91
+ <input type="text" name="price">
92
+ </td>
93
+ <td>
55
- } else if (!is_numeric($b)) {
94
+ <select name="select">
95
+ <option value="0"></option>
56
- echo "<span>※半角数字を入力してください</span>";
96
+ <option value="1">片道</option>
97
+ <option value="2">往復</option>
98
+ </select>
99
+ </td>
100
+ <td>
57
- $price = ""; $traffic = "";
101
+ <input type="text" name="total">
58
- }
102
+ </td>
59
-  
103
+ </tr>
60
- Index0 = 0;
104
+ <tr>
105
+ <td>
106
+ <select>
107
+ <option>地下鉄</option>
108
+ <option>JR来線</option>
109
+ </select>
110
+ </td>
111
+ <td>
112
+ <input type="text" name="price">
113
+ </td>
114
+ <td>
115
+ <select name="select">
116
+ <option value="0"></option>
117
+ <option value="1">片道</option>
118
+ <option value="2">往復</option>
119
+ </select>
120
+ </td>
121
+ <td>
122
+ <input type="text" name="total">
123
+ </td>
124
+ </tr>
125
+ <tr>
126
+ <td>
127
+ <select>
128
+ <option>地下鉄</option>
129
+ <option>JR来線</option>
130
+ </select>
131
+ </td>
132
+ <td>
133
+ <input type="text" name="price">
134
+ </td>
135
+ <td>
136
+ <select name="select">
137
+ <option value="0"></option>
138
+ <option value="1">片道</option>
139
+ <option value="2">往復</option>
140
+ </select>
141
+ </td>
142
+ <td>
143
+ <input type="text" name="total">
144
+ </td>
145
+ </tr> -->
146
+ </fieldset>
61
147
 
62
148
 
63
149
 
64
- for(i = 0; i < 5; i++){
65
- index0 += (price[i].value || 0) * (traffic[i].value || 0);
66
- total[i].value = price[i].value == "" ? "" : ini_val;
150
+ 総合計<input type="text" name="all_total">
67
-
68
- }
151
+ <button id="button">確認</button>
69
152
 
70
- ?>
71
153
  ```
154
+ 送信されたデータ
72
155
 
156
+ ```
73
- 抜けてる所多いかもしれませんが、
157
+ </body>
74
- 上記のようには書きました。
75
158
 
159
+ <body>
160
+
76
- お恥ずかしながら
161
+ <?php
162
+
163
+ $price = $_REQUEST['price'];
164
+ $select = $_REQUEST['select'];
165
+ $total = $_REQUEST['total'];
166
+
167
+ $total = $select * $price;
168
+ ?>
169
+ <form action="index.php" method="POST">
170
+
77
- PHP自体が理解できていないので
171
+ <select>
172
+ <option>地下鉄</option>
173
+ <option>JR来線</option>
174
+ </select>
175
+
176
+ <input type="text" name="price">
177
+
178
+ <select name="select">
179
+ <option value="0"></option>
180
+ <option value="1">片道</option>
181
+ <option value="2">往復</option>
182
+ </select>
183
+
184
+ <input type="text" name="total" value="<?php echo ("$total"); ?>">
185
+
186
+ <a href="index.php">送信</a>
78
- ご指摘あれば教えていただきたいです。
187
+ </form>
188
+ </body>
189
+
190
+ ```

1

2019/10/10 16:11

投稿

runmaru.
runmaru.

スコア4

title CHANGED
File without changes
body CHANGED
@@ -11,6 +11,7 @@
11
11
  最後に5つの総合計を計算させたいのですが、なかなかうまく行きません。
12
12
 
13
13
  一部記載させていただきます。
14
+ ```ここに言語を入力
14
15
 
15
16
  <tr>
16
17
  <td>
@@ -67,6 +68,7 @@
67
68
  }
68
69
 
69
70
  ?>
71
+ ```
70
72
 
71
73
  抜けてる所多いかもしれませんが、
72
74
  上記のようには書きました。