1

複数の MySQL クエリからのテーブルを表示する php ページがあり、JavaScript 関数を使用して列の結果を並べ替えます。すべて正常に機能します。問題は、これらのクエリの結果を 10 秒ごとに更新する必要があることです。 (メタリフレッシュを使用して)問題ありませんが、問題は列の並べ替え後のリフレッシュです。ページが更新されると、並べ替えもリセットされます。これはソート機能のスニペットです。

    <script>
    function tablesort(which){  <-----I tried using the $_GET method you suggested
                                <-----But i get a "missing formal parameter" error
                                <-----When also using this suggestion and use the
                                <-----"onclick" i get a "tablesort" is not defined
                                <-----error
$(document).ready(function(){
if(which == '1.0'){<!--This sorts the pause row, descending --> 
$("#Mtable").tablesorter({sortList: [[1,0]]});
}
if(which == '2.1'){<!--This sorts the total dialer row, descending --> 
$("#Mtable").tablesorter({sortList: [[2,1]]});
}
if(which == '3.0'){<!--This sorts Wrap-up time row, descending --> 
$("#Mtable").tablesorter({sortList: [[3,0]]});
}
if(which == '4.1'){<!--This sorts donation amount row, descending --> 
$("#Mtable").tablesorter({sortList: [[4,1]]});
}
if(which == '5.1'){<!--This sorts Up-sale row, descending --> 
$("#Mtable").tablesorter({sortList: [[5,1]]});
}
if(which == '6.1'){<!--This sorts the Monthl donation row, descending --> 
$("#Mtable").tablesorter({sortList: [[6,1]]});
}
if(which == '7.1'){<!--This sorts the verified sales row, descending --> 
$("#Mtable").tablesorter({sortList: [[7,1]]});
}
if(which == '8.1'){<!--This sorts the calles per hour row, descending --> 
$("#Mtable").tablesorter({sortList: [[8,1]]});
}
if(which == '9.1'){<!--This sorts the payments per hour row, descending --> 
$("#Mtable").tablesorter({sortList: [[9,1]]});
}
if(which == '10.1'){<!--This sorts the average sale row, descending --> 
$("#Mtable").tablesorter({sortList: [[10,1]]});
}
if(which == '11.1'){<!--This sorts the sales total row, descending --> 
$("#Mtable").tablesorter({sortList: [[11,1]]});
}
    });
    }
    </script>

ここにテーブルを並べ替えるリンクがあります '

        Sort by: 
<a onclick="tablesort('1.0')"> Lowest Pause<a/>&nbsp &nbsp
<a onclick="tablesort('2.1')"> Highest Dialer<a/>&nbsp &nbsp
<a onclick="tablesort('3.0')"> Best Wrap-up<a/>&nbsp &nbsp

更新のため、変数データを onlcick から $_GET と同様の URL に渡したいので、ソート関数に読み込みます。

localhost/dbtabke.php?which=2.1 <----使用されている正確な URL の例

それを行う方法についての助けをいただければ幸いです。事前に感謝します。

@prabeen giri私は完全な機能を提供しました、ありがとう

4

2 に答える 2

0

並べ替え順序を保持するために、必ずしも GET メソッドを使用する必要はありません。

また、Cookie を使用して並べ替え順序を保存することもできます。そうすることで、コードがよりきれいに見えます。

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
} 

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

順序を並べ替えるときに関数を呼び出し、setCookie()並べ替え順序をパラメーターとして渡します。

そして、ページが初めて読み込まれるか更新されるときに、同じ並べ替え関数を呼び出しgetCookie()て、Cookie 値を取得するために呼び出し、並べ替えの前にそれを並べ替え順序として設定します。

tablesort()GET を使用する場合は、ページの更新時にも機能します。ドキュメントの準備ができたら、この関数を呼び出してください。

tablesort('<?php print $_GET['MTable']?>') ;

注: パラメータがtablsort()関数内で有効かどうかを確認してください。これは、ページが初めて読み込まれるときにGET変数が空になるためです。

于 2013-04-10T15:43:19.443 に答える