CMS NetCat-テーブル内のオブジェクトの並べ替え

表形式で表示されるコンポーネントオブジェクトをソートするためのソリューションを提供します。 私はそれを十分に頻繁に使用します。多分それは誰かに役立つでしょう。



1.列見出しを、目的のリンクを置き換える関数に変更します



".sort_header('Message_ID','ID')."









ここMessage_ID-ソートするフィールド、ID-列の名前

関数sort_header()は、デフォルトモジュールで説明されています



function sort_header($fild,$header, $wrap=0){

global $sub,$cc,$sort,$order;

/*

* URI sort, order, sid.

* , .. ,

*

*/

$param="";

$separator='?';

foreach ($_GET as $key => $value) {

if($key!='sort' && $key!='order' && $key!='sid')

{

$param .=$separator.$key."=".$value;

$separator='&';

}

}



// .

if($wrap==0)

{

$out .="";

}



$out .="<a href='$param&sort=$fild";

if($sort==$fild && $order !='ASC')

{

$out .="&order=ASC";

}

$out .="'>$header";

$out .="";

if($sort==$fild && $order =='ASC')

{

$out .=" ";

}

elseif($sort==$fild)

{

$out .=" ";

}

if($wrap==0)

{

$out .="




function sort_header($fild,$header, $wrap=0){

global $sub,$cc,$sort,$order;

/*

* URI sort, order, sid.

* , .. ,

*

*/

$param="";

$separator='?';

foreach ($_GET as $key => $value) {

if($key!='sort' && $key!='order' && $key!='sid')

{

$param .=$separator.$key."=".$value;

$separator='&';

}

}



// .

if($wrap==0)

{

$out .="";

}



$out .="<a href='$param&sort=$fild";

if($sort==$fild && $order !='ASC')

{

$out .="&order=ASC";

}

$out .="'>$header";

$out .="";

if($sort==$fild && $order =='ASC')

{

$out .=" ";

}

elseif($sort==$fild)

{

$out .=" ";

}

if($wrap==0)

{

$out .="




";

}

$を返す;

}





ここではすべてが簡単です。

3つのパラメーターを関数に渡します:並べ替えフィールド、列名、フラグ、ハイフネーションが許可されているかどうか。 デフォルトでは、それらは禁止されています。



2.ソートを機能させるには、リクエストを変更する必要があります。 これを行うには、コンポーネント設定で次のように記述します。

$query_order = sort_set();









sort_set()はデフォルトモジュールで説明されています



function sort_set(){

global $inside_admin,$sort,$order,$classID;

// . ,

$sql = "SHOW COLUMNS FROM Message".$classID." WHERE Field = '".$sort."'";

$result = mysql_query($sql);

$num_rows = mysql_num_rows($result);

if($num_rows == 1)

{

if($order=='ASC')

{

$order = 'ASC';

}

else

{

$order = 'DESC';

}

// , $query_order

$out="a.".$sort." ".$order;

return $out;

}

else

{

return;

}

}









それだけです

合計で、並べ替えには、システムに2つの機能を追加する必要があります。その後、列見出しを変更して、一方を呼び出し、もう一方をコンポーネント設定で指定する必要があります。 難しくないようです。 誰かが重宝してくれたら嬉しいです。



All Articles