これが可能かどうかはわかりません。結果のテーブルを表示し、任意の列でテーブルを並べ替えることができるようにしたい。私はそのようなテーブルを作るのを手伝う必要はありません。別のORDERBY命令で繰り返さずに、クエリの結果を並べ替える方法に関する情報が必要です。
2 に答える
1
私はおそらくある種のクライアント側のスクリプトでこれを行うでしょう、私はそこにいくつかのJavaScriptまたはDHTMLオプションがあることを知っています。これらは、ユーザーにとって(とにかくほとんどのマシンで)はるかに迅速に実行され、データベースへの不要なヒットを回避します。私が最後に見たのはこれだと思います:http ://www.kryogenix.org/code/browser/sorttable/
しかし、SQLクエリでそれを実行することに本当に興味がある場合は、次のような結果を含むテーブルがあります。
<table>
<tr>
<th><a href='page.php?orderby=name'></th>
<th><a href='page.php?orderby=blah'></th>
....
</table>
次に、クエリを作成するときに、次のようなことを行うことができます。
<?php
$sql = "select * from sometable";
switch ( $_REQUEST['orderby'] ) {
case "name": $sql .= " order by name"; break;
case "blah": $sql .= " order by blah"; break;
default: $sql .= " order by whatevercolumnyouwantasdefault";
}
...
?>
または、$ _ REQUEST値をチェックして、それらが正当であると判断したと仮定すると、これと同じくらい単純なものです。
<?php
$sql = "select * from sometable";
if ( isset($_REQUEST['orderby']) )
$sql .= " order by ".$_REQUEST['orderby'];
else
$sql .= " order by whatevercolumnyouwantasdefault";
?>
于 2010-08-10T19:25:44.250 に答える
0
おそらく、結果をある種の配列に格納することができます。
編集: それ以外の場合は、JavaScriptを使用して、ページを更新せずにテーブルを並べ替えることができます。これを行うことができるjQueryプラグインを次に示します。
于 2010-08-10T19:22:27.440 に答える