渡された引数に基づいてSQLクエリを生成するためのコードを書くことができます。
ajaxは、ユーザーが選択した内容に基づいて、基本都市に加えて引数の束をページに照会できます。あなたのページが以前に選択された検索オプションを保持していれば、ユーザーはさらに多くのオプションを追加し、同じ方法でそれらを処理し続けることができるはずです。あなたのPHPは、引数が$ _POSTまたは$ _GET変数に設定されているかどうかをテストします($ _POSTは一般的にajaxの方が安全ですが、私の例では簡単に$ _GETを使用します)。
例
:javascriptの側だろうちょうどあなたがいた同じ事に、全てのその後
$query = "SELECT * FROM Data WHERE City=? AND Date > ? AND Date < ?";
$arguments = array($_GET['city'], $_GET['from'], $_GET['to']);
if (isset($_GET['someColumnLowerRange'])) {
$query .= " AND someColumn > ?";
$arguments[] = $_GET['someColumnLowerRange'];
}
if (isset($_GET['someColumnUpperRange'])) {
$query .= " AND someColumn < ?";
$arguments[] = $_GET['someColumnUpperRange'];
}
//execute the query
//using PDOs (google them...they are a good way to prevent sql injection and
//support multiple database types without modifying code too much), create a
//statement with the above query in put the statement in $statement
$statement->execute($arguments); //this uses the $arguments array to fill in the prepared statement's ?'s
//then do the stuff to get the retrieved rows out of the result returned
:
Javascriptが次のようにsearchAjaxHandler.php?city=Chicago&from=2012-03-01&to=2012-03-05&someColumnLowerRange=500&someColumnUpperRange=700
PHPスクリプトのようなクエリは、その後処理生成これまでのすべての結果を元に戻した結果に置き換えることによって、前にやっています。
はい、私は参照してください...あまりにも実用的な例で詳細な答えHelmutありがとう!準備が整ったドキュメントに読み込むこともおすすめです!ありがとう、トン! – Chris