回答編集履歴

2

追記

2017/05/30 01:11

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -59,3 +59,31 @@
59
59
  これはどういったWHERE句になるのでしょうか?
60
60
 
61
61
  それともvalueを分割してANDやORで検索するという意味でしょうか?
62
+
63
+
64
+
65
+ # 整理
66
+
67
+ 話が噛み合わないので具体的に・・・
68
+
69
+
70
+
71
+ $name_arr = [[(※1)'AND','検索キーワード'],[(※2)'or','検索キーワード2'],[(※3)'or','検索キーワード3']];
72
+
73
+ ↓↓↓
74
+
75
+ SELECT * FROM data WHERE name LIKE ? (※4)AND (name LIKE ? (※5)OR name LIKE ?)
76
+
77
+
78
+
79
+ ※1が※4のANDになるとして、※5のorは※2と※3のどちらなのでしょうか?
80
+
81
+ またORが優先されるのはなにをみて判断しているのでしょうか?
82
+
83
+
84
+
85
+ 普通に順番に適用すれば最初のANDは無視されて、
86
+
87
+ SELECT * FROM data WHERE name LIKE ? OR name LIKE OR name LIKE ?
88
+
89
+ にしかならないと思いますが?

1

追記

2017/05/30 01:11

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -7,3 +7,55 @@
7
7
  わかりません。またANDがORよりつよいので、ORを優先したい場合の
8
8
 
9
9
  定義もあいまいです。
10
+
11
+
12
+
13
+ # sample
14
+
15
+
16
+
17
+ ```HTML
18
+
19
+ <form>
20
+
21
+ <input type="text" size="10" name="name[]" value="aaa">
22
+
23
+ <select name="name_op[]">
24
+
25
+ <option value="AND">を含む</option>
26
+
27
+ <option value="OR" selected>をいずれか含む</option>
28
+
29
+ </select><br>
30
+
31
+ <input type="text" size="10" name="name[]" value="bbb">
32
+
33
+ <select name="name_op[]">
34
+
35
+ <option value="AND" selected>を含む</option>
36
+
37
+ <option value="OR">をいずれか含む</option>
38
+
39
+ </select><br>
40
+
41
+ <input type="text" size="10" name="name[]" value="ccc">
42
+
43
+ <select name="name_op[]">
44
+
45
+ <option value="AND" selected>を含む</option>
46
+
47
+ <option value="OR">をいずれか含む</option>
48
+
49
+ </select><br>
50
+
51
+ <input type="submit" value="go">
52
+
53
+ </form>
54
+
55
+
56
+
57
+ ```
58
+
59
+ これはどういったWHERE句になるのでしょうか?
60
+
61
+ それともvalueを分割してANDやORで検索するという意味でしょうか?