質問編集履歴

1

現状

2015/09/23 07:22

投稿

twin_bird
twin_bird

スコア230

test CHANGED
File without changes
test CHANGED
@@ -87,3 +87,109 @@
87
87
 
88
88
 
89
89
  効率のよい方法やわかりやすいシンプルな方法があれば教えて下さい!
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ <現在取り組んでいるやり方>
100
+
101
+
102
+
103
+ ```php
104
+
105
+ $check = $_POST['pref'];
106
+
107
+
108
+
109
+ $imp = implode(",",$check);
110
+
111
+
112
+
113
+ $sql = "SELECT * FROM checkbox_search WHERE pref IN ('$imp')";
114
+
115
+ $query = mysqli_query($connect,$sql);
116
+
117
+ ```
118
+
119
+
120
+
121
+ ```php
122
+
123
+ var_dump($imp);
124
+
125
+ var_dump($query);
126
+
127
+ var_dump($sql);
128
+
129
+ ```
130
+
131
+
132
+
133
+
134
+
135
+ <複数選択した場合の検証結果>
136
+
137
+ string '那覇,福岡' (length=13)
138
+
139
+
140
+
141
+ object(mysqli_result)[2]
142
+
143
+ public 'current_field' => int 0
144
+
145
+ public 'field_count' => int 2
146
+
147
+ public 'lengths' => null
148
+
149
+ public 'num_rows' => int 0
150
+
151
+ public 'type' => int 0
152
+
153
+
154
+
155
+ string 'SELECT * FROM checkbox_search WHERE pref IN ('那覇,福岡')' (length=61)
156
+
157
+
158
+
159
+ <単数選択した場合の検証結果>
160
+
161
+ string '福岡' (length=6)
162
+
163
+ object(mysqli_result)[2]
164
+
165
+ public 'current_field' => int 0
166
+
167
+ public 'field_count' => int 2
168
+
169
+ public 'lengths' => null
170
+
171
+ public 'num_rows' => int 2
172
+
173
+ public 'type' => int 0
174
+
175
+ string 'SELECT * FROM checkbox_search WHERE pref IN ('福岡')' (length=54)
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+ implode関数を使ったやり方がわかりやすいと思い、色々調べたのですが、どうにもSQL文がうまく機能しません。
184
+
185
+
186
+
187
+ 単数選択した場合の方のSQL文,
188
+
189
+ SELECT * FROM checkbox_search WHERE pref IN ('福岡')
190
+
191
+ は正しいと思うのですが、検索結果を表示させるところまでいけません。
192
+
193
+
194
+
195
+ 複数選択の方はお手上げです・・・