質問編集履歴

3

教えてほしい点を修正、進み具合を追記。

2017/10/23 05:45

投稿

horo
horo

スコア12

test CHANGED
@@ -1 +1 @@
1
- 【WordPress】$wpdbを使って、独自テーブル情報呼び出すスペス区切りの複数キーワード検索を作りたい
1
+ 【WordPress】$wpdbを使ったforeachで結果全デタ返したい
test CHANGED
@@ -1,14 +1,30 @@
1
1
  ###前提・実現したいこと
2
2
 
3
- 皆様、こんにちは!
4
-
5
3
  PHPとMySQL・WordPressを使って、
6
4
 
7
- 独自テーブルの情報(カード情報)を半角スペースで複数の単語を検索できる、キーワード検索を作成しようとしています。
5
+ **独自テーブルの情報(カード情報)を半角スペース区切りで複数の単語を検索できる、キーワード検索**を作成しようとしています。
8
-
6
+
9
- が、$wpdbの使い方やPHPをあまり理解していないせいか、一つの単語だけの検索しかできていません
7
+ が、$wpdbの使い方やPHPをあまり理解していないせいか、**一つの単語だけの検索しかできていません**
10
-
8
+
11
- 皆様お力お貸しただけますでしょうか?(>_<)
9
+ ように記述変更すればでしょうか?
10
+
11
+ 宜しくお願いいたします。
12
+
13
+
14
+
15
+ **★2017/10/23 追記**
16
+
17
+ [wordpress:チェックボックスによる検索で配列](https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12155802952)
18
+
19
+ を参照して途中まで進めることができました。が、検索結果件数以外の検索結果がうまく表示できませんorz
20
+
21
+ **検索結果の記述をどう変更すればいいか**助言していただけると幸いです。
22
+
23
+
24
+
25
+ <現状の検索結果の状態>
26
+
27
+ ![現状の検索結果のスクショ画像](540f365232b45f6f6d73b944f8783717.png)
12
28
 
13
29
 
14
30
 
@@ -146,7 +162,17 @@
146
162
 
147
163
  //検索ワードを全角カタカナに変換、空白を全角スペースにする
148
164
 
149
- $card_name = mb_convert_kana($card_name,"SKC");
165
+ $card_name = mb_convert_kana($card_name,"S");
166
+
167
+ $card_name = str_replace(" ", " ", $card_name);
168
+
169
+ //空白文字で検索ワードを分割
170
+
171
+ $array = array();
172
+
173
+ $array = explode(" ",$card_name);
174
+
175
+
150
176
 
151
177
  }
152
178
 
@@ -166,17 +192,29 @@
166
192
 
167
193
  if ($card_name) {
168
194
 
195
+
196
+
197
+ $rows = [];
198
+
199
+ foreach($array as $val){
200
+
201
+ $sql = $wpdb->prepare("
202
+
203
+ SELECT *
204
+
169
- // SQL
205
+ FROM $wpdb->card
170
-
206
+
171
- $sql = $wpdb->prepare("SELECT * FROM $wpdb->card WHERE card_kana LIKE '%%%s%%' ", $card_name);
207
+ WHERE card_name collate utf8_unicode_ci LIKE %s", '%' . $val . '%');
172
-
173
-
174
208
 
175
209
  // クエリ実行
176
210
 
177
- $rows = $wpdb->get_results($sql);
211
+ $rows[] = $wpdb->get_results($sql);
212
+
178
-
213
+ }
214
+
215
+
216
+
179
-
217
+ var_dump($rows);
180
218
 
181
219
  // 検索結果メッセージ
182
220
 
@@ -244,6 +282,8 @@
244
282
 
245
283
  ?>
246
284
 
285
+
286
+
247
287
  <tr>
248
288
 
249
289
  <th>
@@ -356,12 +396,12 @@
356
396
 
357
397
  ###試したこと
358
398
 
359
- 下記のサイトを参考に記述を書いてみましたが、DBのエラーやPHPのエラーが出て断念しした
399
+ 下記のサイトを参考に記述を書いてみましたが、検索結果思うように出てせん
360
-
361
- - [PHPで複数単語のAND検索するSQLを作る方法を教えてください](https://qiita.com/suin/items/2b274ac208eb94ed7c7d)
362
400
 
363
401
  - [[PHP][MySQL]PHPで空白区切りの絞り込み検索キーワードをSQL文に反映](http://d.hatena.ne.jp/akihito_sado/20120602/p1)
364
402
 
403
+ - [wordpress:チェックボックスによる検索で配列](https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12155802952)
404
+
365
405
 
366
406
 
367
407
 
@@ -370,6 +410,6 @@
370
410
 
371
411
  言語:PHP/html5/css/mySQL
372
412
 
373
- 使用しているツール:xampp/WordPress/mySQL/PHPmyadmin/
413
+ 使用しているツール:xampp/WordPress/mySQL/PHPmyadmin/ Dreamweaver CC2017
374
414
 
375
415
  ツールのバージョン:PHP 5.6.31 / Apache2.4.26 (Win32)/ OpenSSL 1.0.2l / PHP5.6.31 /wordpress 4.8.2

2

2017/10/23 05:45

投稿

horo
horo

スコア12

test CHANGED
File without changes
test CHANGED
File without changes

1

言語を追記、タイトルを少し変更しました。

2017/10/21 14:58

投稿

horo
horo

スコア12

test CHANGED
@@ -1 +1 @@
1
- $wpdbを使って、スペース区切りの複数キーワード検索を作りたい
1
+ 【WordPress】$wpdbを使って、独自テーブルの情報を呼び出すスペース区切りの複数キーワード検索を作りたい
test CHANGED
@@ -368,7 +368,7 @@
368
368
 
369
369
  ###補足情報(言語/FW/ツール等のバージョンなど)
370
370
 
371
- 言語:PHP/html5/css
371
+ 言語:PHP/html5/css/mySQL
372
372
 
373
373
  使用しているツール:xampp/WordPress/mySQL/PHPmyadmin/
374
374