2012-08-02 111 views
0

我就在jQuery Mobile的搜索引擎我要分開單詞在數據庫中搜索一個數組我使用的代碼工作是:jQuery的SQLite數據庫文本搜索引擎

var sear=$("#search").val(); 

var db = openDatabase("Database", "1.0", "PhoneGap Demo", 200000); 
db.transaction(function (tx) { 
    tx.executeSql("SELECT * FROM DEMO WHERE (D_Indications LIKE ?);", 
       ["%"+sear+"%"],   
       function (tx, results) { 
        $('#output').show(); 
        var len = results.rows.length, i; 
        var row=results.rows.item(i); 
        for (i = 0; i < len; i++) { 
        $('#output2').append('<tr><td>'+ row.Cat_name +'</td><td>'+ row.Drug_Caty +'</td><td>'+ row.G_Name +'</td><td>'+ row.B_Name +'</td><td>'+ row.D_Indications +'</td></tr>').trigger('create');   
        } 
       }); 
}); 

我想它分裂空格之後的單詞並在數據庫中單獨搜索每個單詞。 例如。如果用戶鍵入的「Hello World」我希望它在數據庫中搜索「%你好%」 &「%世%」分別

+0

結果是什麼?你有任何錯誤? – 2012-08-02 06:30:01

+0

我得到了結果。但我想從數據庫中搜索搜索框中的每個單詞。例如, – Cryptos 2012-08-02 06:42:45

+0

。如果用戶鍵入「hello world」,我希望它在數據庫中分別搜索「hello」和「world」。 – Cryptos 2012-08-02 06:56:16

回答

0

您可以通過拆分它定義

text = "Hello World" 
    var SpaceCount = text.split(' ').length -1; 

,那麼你可以定義SpaceCount有多少空間。

然後有一個條件:

if (SpaceCount==1){ 
    var lines = text.split(' ') 
     $.each(lines, function(key, line) { 


      var db = openDatabase("Database", "1.0", "PhoneGap Demo", 200000); 
      db.transaction(function (tx) { 
      tx.executeSql("SELECT * FROM DEMO WHERE (D_Indications LIKE ?);", 
      ["%"+ line +"%"],   
      function (tx, results) { 
       $('#output').show(); 
       var len = results.rows.length, i; 
       var row=results.rows.item(i); 
       for (i = 0; i < len; i++) { 
       $('#output2').append('<tr><td>'+ row.Cat_name +'</td><td>'+ row.Drug_Caty +'</td><td>'+ row.G_Name +'</td><td>'+ row.B_Name +'</td><td>'+ row.D_Indications +'</td></tr>').trigger('create');   
       } 
      }); 
     } 

}