質問編集履歴
3
教えてほしい点を修正、進み具合を追記。
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,"S
|
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
|
-
|
205
|
+
FROM $wpdb->card
|
170
|
-
|
206
|
+
|
171
|
-
|
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
|
-
下記のサイトを参考に記述を書いてみましたが、
|
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
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
言語を追記、タイトルを少し変更しました。
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
|
|