サーバーサイドスクリプト(例:PHP)を使用していますか?グリッドに表示しているデータをフェッチする際に..?私はlastOptionを使ってみたことがありませんが、これを試すことができます。これは単純なPHPのトリックです...使用して$_SESSION
います...私もあなたと同じ状況にあります。$_SESSION関数は私のために機能します。
これがサンプルコードです。
通常、サーバー側では、データベース内のデータをフェッチするためのこのようなコードがあります。検索フィールドから送信するパラメータをPOSTする必要があります。ここにサーバー側のコードを投稿していません。だから私はそれがこのように見えると思います。
//データベースで検索するためにファイルされた検索からパラメータを投稿する必要がある最初のもの//
$pattern = $_REQUEST['search_pattern']; //you may also use the $_POST instead of $_REQUEST
//データベースクエリは次のようになります。
("SELECT * FROM your_table WHERE table_data LIKE %$pattern% ");
//グリッドをロードするたび。常にserver.soを呼び出します。したがって、表示されるデータが検索フィールドの値に依存するという条件を設定すると、$_POST
関数がNULLを返す場合、データは表示されません。
したがって、検索フィールドに値を入力してグリッドをロードするとします。最初にサーバーがパターンの値を取得したため、グリッドに出力が表示されますが、サーバー側のページが更新された場合、または再度ロードされた場合を除き、サーバー側のページが値を保持するのは1回だけであることに注意してください。もう一度検索フィールドに何かを入力します。これが、次のボタンを押した後に表示されない理由だと思います。次のボタンはサーバー側のページを再度読み込むためですが、今回は次のボタンにパラメーターがないため、パターンがNULLになっているため、サーバーはデータを取得できません。 。したがって、以前に入力した値を長期間保持するには、$_SESSIONを使用する必要があります...//コードは次のようになります。
サーバーページをロードするたびに常に$_POST関数が実行されるため、null値を投稿すると、結果もnullになります。しばらく前に投稿した値を検索フィールドから取得するには、値をセッションに入れます。さあ、行きます...
$pattern = $_POST['search_pattern'];
最初に検索フィールドに何かを入力すると、$ patternに値が設定され、次にそれがセッション変数に保存されます。
$_SESSION['pattern'] = $pattern;
ただし、次のボタンを押すたびにサーバー側のページも読み込まれることに注意してください$_POST
。次のボタンと一緒にパラメーターを送信しなかったため、このボタンはサーバーページを再読み込みします。このときはnull値を返します。したがって、POSTに値があり、検索フィールドに単語を入力したときに、セッション変数に値のみを格納する必要があります。私たちはこのようにする必要があります。
$pattern = $_POST['search_pattern'];
if($pattern != ''){
// we need to check if the value is null because when you pressed the next button after it reloads the pages it would now be null and this time we need to get the previous value. while if the value is not null we will save it to the session variable..
$_SESSION['pattern'] = $pattern;
}else{
// here is when the next button is pressed it will go here since the $_POST is now null
we will get the previous value that we saved on the session variable//
$pattern = $_SESSION['$pattern'];
}
その後、データベースにデータを照会します。
コード全体は次のようになります。
<?php
session_start();
// mysql connection here//
$pattern = $_POST['search_pattern'];
if($search_pattern !=''){
$_SESSION['pattern'] = $pattern;
}else{
$pattern = $_SESSION['pattern'];
}
$start = ($_REQUEST['start'] != '') ? $_REQUEST['start'] : 0;
$limit = ($_REQUEST['limit'] != '') ? $_REQUEST['limit'] : 20;
$query =mysql_query("SELECT * FROM students WHERE lname LIKE '$pattern%' ");
$totaldata = mysql_num_rows($query);
while($row = mysql_fetch_assoc($query)){
$items[] = array(
'id' => $row['student_id'],
'lname' => $row['lname'],
'fname' => $row['fname'],
'mname' => $row['mname'],
'gender' => $row['gender'],
);
}
$matches = Array();
foreach ($items as $item) {
$matches[] = $item;
}
echo '({"totalCount":"'.$totaldata.'","matches":'.json_encode($matches).'})';
?>