編輯** 不知道這個額外的信息會有幫助,但試圖保持簡單。這是一個語義正確的SQLite搜索查詢嗎?
用戶通過html表單選擇數據(最多三個「性別」選項,最多六個「顏色」,然後可以選擇一個單一的價格範圍),然後這個數據被處理jquery函數來構造下面的字符串並將其保存在一個變量中。然後將該變量用作sql查詢,下面顯示的查詢字符串是此變量的輸出。
我在Chrome的開發者工具進行調試時,有沒有表現出錯誤**
這有什麼不對的查詢字符串?
'SELECT * FROM flipflops WHERE colour="black" OR colour="brown" AND gender="mens" OR gender="womens" AND price<=20'
值正確,因爲它們與db匹配。說實話,它似乎回到了它所喜歡的東西。我希望對於某人來說,我已經做錯了,因爲我是一個無知的新手。
任何幫助將不勝感激! :d
編輯** 上面現在所取代,後者當你複製它,因爲它是工作的完善!
'SELECT * FROM flipflops WHERE colour IN ("white","navy","blue") AND gender IN ("mens","juniors") AND price >= 20 AND price <= 30'
我在使用正則表達式來創建jQuery的字符串如下離開了pricerange現在但它從數據庫返回任何內容,我沒有得到控制檯錯誤
var regExp = /\(([^)]+)\)/;
var queryValue = regExp.exec("SELECT * FROM flipflops WHERE colour IN /(\'" + colourValues.join("','") + "/')\ AND gender IN /(\'" + genderValues.join("','") + "/')\"");
輸出到控制檯值依賴於形式的價值選擇(抱歉複雜此,我太亂了!)
Array[2]
0: "('white','blue/')"
1: "'white','blue/'"
index: 41input:
"SELECT * FROM flipflops WHERE colour IN /('white','blue/') AND gender IN /('womens','juniors/')""
length: 2
由於只有2分性別的'和性別=「男士」或性別=「女子」'是多餘的。 – 2014-12-05 10:32:53
@david strachan這會阻止它的工作? – RyanUK 2014-12-05 11:23:51
@davidstrachan我已添加更多信息 – RyanUK 2014-12-05 15:09:26