0

私はjqueryモバイルで検索エンジンに取り組んでいます。データベース検索のために単語を配列に分割したいのですが、使用しているコードは次のとおりです。

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」と入力した場合、データベースで「%hello%」と「%world%」を別々に検索したい

4

1 に答える 1

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');        
              }
            });
       }

}
于 2013-06-21T08:12:44.257 に答える