2012-04-12 15 views
0

私は表示された表を検索するこの検索スクリプトを私のページに持っています。このテーブルはデータベースからPHPで表示されます。実際にはリストであり、このリストはAからZのハイパーリンクのアルファベット順でソートされています。今度は、表示されているものの代わりにデータベース全体を検索する必要があります。どんな援助や資源も役に立つでしょう。 :)検索スクリプトを改善するにはどうすればよいですか?

$(document).ready(function() { 

    $("#search").keyup(function() { 

     if($(this).val() != "") { 

      $("#some_table tbody>tr").hide(); 
      $("#some_table td:contains-ci('" + $(this).val() + "')").parent("tr").show(); 
     } else { 
      $("#some_table tbody>tr").show(); 
     } 
    }); 
}); 

$.extend($.expr[":"], { 
    "contains-ci" : function(elem, i, match, array) { 
     return (elem.textContent || elem.innerText || $(elem).text() || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0; 
    } 
}); 
+0

データを出力する前にデータベースを検索したいのですか? – MetalFrog

+0

はい今、データベース全体を検索したいと思います。 – Kaushank

+0

おそらく[codereview](http://codereview.stackexchange.com) –

答えて

0

おそらく結果をサーバーからjsonオブジェクトとして返します。

http://your.hostname/database.json[{id:1,name:'joe'},{id:2,name:'bob'},...]を返します。

次に、表示されたテーブルを動的に作成します。

function refreshTable() { 
    $.ajax({ 
     url:'http://your.hostname/database.json', 
     dataType:'json' 
    }).done(function(json) { 
     $('#my_table tbody tr').remove(); 
     for (i in json) { 
      $('#my_table tbody').append($('<tr><td>'+json[i]['id']+'</td><td>'+json[i]['name']+'</td></tr>')); 
     } 
    }); 
} 

ページが最初にロードされ、そしておそらく一定の間隔で、またはユーザが「リフレッシュ」ボタンか何かを押しているコールrefreshTable

glhf!