सीएमएस नेटकैट - एक तालिका में वस्तुओं को क्रमबद्ध करना

मैं एक तालिका में प्रस्तुत घटक वस्तुओं को सॉर्ट करने के लिए अपना समाधान प्रदान करता हूं। मैं इसे अक्सर पर्याप्त उपयोग करता हूं, शायद यह किसी के लिए उपयोगी होगा।



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 .="




";

}

वापस $ बाहर;

}





यहां सब कुछ सरल है।

हम फ़ंक्शन को तीन पैरामीटर पास करते हैं: एक सॉर्टिंग फ़ील्ड, एक कॉलम नाम और एक ध्वज, चाहे हाइफ़नेशन की अनुमति हो या न हो। डिफ़ॉल्ट रूप से, वे निषिद्ध हैं।



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;

}

}









वह सब है।

कुल मिलाकर, छंटाई के लिए, सिस्टम को दो कार्यों के साथ पूरक करना आवश्यक है, जिसके बाद उनमें से एक को कॉल करने के लिए स्तंभ शीर्षकों को बदला जाना चाहिए और घटक सेटिंग्स में अन्य को निर्दिष्ट करना चाहिए। यह मुश्किल नहीं लगता। मुझे खुशी होगी अगर कोई काम आएगा।



All Articles