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

質問編集履歴

3

追記の部分が見づらかったので見えやすいように変更してみました。

2017/07/20 03:13

投稿

shimane
shimane

スコア98

title CHANGED
File without changes
body CHANGED
@@ -123,7 +123,10 @@
123
123
  何か良いお知恵を知っている方がいましたら、教えて頂けると嬉しいです。
124
124
  どうかお願いします。
125
125
 
126
+ ---
127
+
126
- 【$tag1~$tag8までの利用した内容】
128
+ **【$tag1~$tag8までの利用した内容】**
129
+
127
130
  $tag1~$tag8(記事のタグが入っています。)
128
131
 
129
132
  ```php

2

詳しい内容を書いてみました。

2017/07/20 03:13

投稿

shimane
shimane

スコア98

title CHANGED
File without changes
body CHANGED
@@ -121,4 +121,115 @@
121
121
 
122
122
  実際にYahooAPIを利用されていたり、記事タグの自動作成を経験されていた方や
123
123
  何か良いお知恵を知っている方がいましたら、教えて頂けると嬉しいです。
124
- どうかお願いします。
124
+ どうかお願いします。
125
+
126
+ 【$tag1~$tag8までの利用した内容】
127
+ $tag1~$tag8(記事のタグが入っています。)
128
+
129
+ ```php
130
+
131
+ //配列に格納してmysqlに保存します。
132
+ //foreach内での処理
133
+ $Data[] = [
134
+ 'title' => $title, 'url' => $url, 'coment' => $coment,
135
+ 'tag1' => $tag1,
136
+ 'tag2' => $tag2,
137
+ 'tag3' => $tag3,
138
+ 'tag4' => $tag4,
139
+ 'tag5' => $tag5,
140
+ 'tag6' => $tag6,
141
+ 'tag7' => $tag7,
142
+ 'tag8' => $tag8,
143
+ 'tag9' => $tag9
144
+ ];
145
+
146
+ $sql = "insert into bbs (title, url, res,
147
+ tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9,
148
+ created) values (:title,:url,:res,
149
+ :inyoumoto,:tag1,:tag2,:tag3,:tag4,:tag5,:tag6,:tag7,
150
+ :tag8,:tag9,now())";
151
+ $stmt = $db->prepare($sql);
152
+ $stmt->execute([
153
+ ':title' => $title,
154
+ ':url' => $url,
155
+ ':res' => $coment,
156
+ ':tag1' => $tag1,
157
+ ':tag2' => $tag2,
158
+ ':tag3' => $tag3,
159
+ ':tag4' => $tag4,
160
+ ':tag5' => $tag5,
161
+ ':tag6' => $tag6,
162
+ ':tag7' => $tag7,
163
+ ':tag8' => $tag8,
164
+ ':tag9' => $tag9
165
+ ]);
166
+
167
+ ```
168
+
169
+ mysqlに保存した後にhtmlにて表示を行っています。
170
+
171
+ ```HTML
172
+
173
+ <div class="kijitag">
174
+ 配列の中身が空の時にエラーが起きる問題の解決の為に
175
+ 配列の中身が空の時には「タグ無し」という文字を変数の中に入れています。
176
+ if文で配列の中身が「タグ無し」以外の時にhtmlにて表示するように設定しています。
177
+ <?php if($mysql->tag1 !== "タグ無し") echo $mysql->tag1; ?>
178
+ <?php if($mysql->tag2 !== "タグ無し") echo $mysql->tag2; ?>
179
+ <?php if($mysql->tag3 !== "タグ無し") echo $mysql->tag3; ?>
180
+ <?php if($mysql->tag4 !== "タグ無し") echo $mysql->tag4; ?>
181
+ <?php if($mysql->tag5 !== "タグ無し") echo $mysql->tag5; ?>
182
+ <?php if($mysql->tag6 !== "タグ無し") echo $mysql->tag6; ?>
183
+ <?php if($mysql->tag7 !== "タグ無し") echo $mysql->tag7; ?>
184
+ <?php if($mysql->tag8 !== "タグ無し") echo $mysql->tag8; ?>
185
+ <?php if($mysql->tag9 !== "タグ無し") echo $mysql->tag9; ?>
186
+ </div>
187
+ ```
188
+
189
+ 自分で考えた配列が空だった場合の対処方法
190
+ ```PHP
191
+ if(!isset($result_array[0])){
192
+ $result_array[0] = "タグ無し";
193
+ }
194
+ if(!isset($result_array[1])){
195
+ $result_array[1] = "タグ無し";
196
+ }
197
+ if(!isset($result_array[2])){
198
+ $result_array[2] = "タグ無し";
199
+ }
200
+ if(!isset($result_array[3])){
201
+ $result_array[3] = "タグ無し";
202
+ }
203
+ if(!isset($result_array[4])){
204
+ $result_array[4] = "タグ無し";
205
+ }
206
+ if(!isset($result_array[5])){
207
+ $result_array[5] = "タグ無し";
208
+ }
209
+ if(!isset($result_array[6])){
210
+ $result_array[6] = "タグ無し";
211
+ }
212
+ if(!isset($result_array[7])){
213
+ $result_array[7] = "タグ無し";
214
+ }
215
+ if(!isset($result_array[8])){
216
+ $result_array[8] = "タグ無し";
217
+ }
218
+ $tag1 = $result_array[0];
219
+ $tag2 = $result_array[1];
220
+ $tag3 = $result_array[2];
221
+ $tag4 = $result_array[3];
222
+ $tag5 = $result_array[4];
223
+ $tag6 = $result_array[5];
224
+ $tag7 = $result_array[6];
225
+ $tag8 = $result_array[7];
226
+ $tag9 = $result_array[8];
227
+ ```
228
+
229
+ これでエラーが表示される事なく記事タグをmysqlで保存できて
230
+ html上でも表示する事が出来たのですが
231
+ 私のような初心者から見ても
232
+ 無駄な書き方が多かったり、処理も無駄に多くなっていそうな気がします。
233
+ (ただ、今の私の実力ではこの書き方以外の方法がまったく思いつきませんでした。)
234
+
235
+ もっと良い書き方がありましたら教えて頂けると嬉しいです。

1

抜けていた部分を記載しました。

2017/07/20 03:11

投稿

shimane
shimane

スコア98

title CHANGED
File without changes
body CHANGED
@@ -115,6 +115,10 @@
115
115
  }
116
116
  ```
117
117
 
118
+ 勉強中の私でも上のコードは無駄が多すぎるように感じてしまいます。
119
+ (処理速度的にも無駄に重くなってしまいそうです。)
120
+ 何かもっとすっきりと効率よく処理が出来るようなコードの書き方がありましたら教えて頂けると嬉しいです。
121
+
118
122
  実際にYahooAPIを利用されていたり、記事タグの自動作成を経験されていた方や
119
123
  何か良いお知恵を知っている方がいましたら、教えて頂けると嬉しいです。
120
124
  どうかお願いします。