Seite 1 von 2

mitgliederliste sortieren

Verfasst: 27.11.2002 21:23
von Gästle
hallo zusammen!

geht es dass die mitgliederliste direkt, ohne es jedesmal so einzustellen, nach der anzahl der beiträge sortiert wird?

LG

ute

Verfasst: 27.11.2002 21:58
von esperitox
memberlist.php:

Suchen

Code: Alles auswählen

$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
Ersetzen mit:

Code: Alles auswählen

$order_by = "user_posts $sort_order LIMIT $start, " . $board_config['topics_per_page'];
esperitox

Verfasst: 27.11.2002 22:34
von Guido
Das kann ich auch gut gebrauchen ..;-) Und was muss ich noch ändern wenn ich das automatisch "Absteigend" haben möchte ?

Verfasst: 27.11.2002 22:59
von Simpson
Suche

Code: Alles auswählen

$sort_order = 'ASC'; 
Ersetze durch

Code: Alles auswählen

 $sort_order = 'DESC'; 

Verfasst: 27.11.2002 23:47
von Guido
Jau ..! THX

Verfasst: 04.02.2003 11:20
von rincewind
Moinsen,
ich wollte die Memberlist nach Namen sortieren lassen und habe

Code: Alles auswählen

$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
durch

Code: Alles auswählen

$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
ersetzt.
Auf der ersten Seite klappt das auch wunderbar, aber wenn man sich die folgenden Seiten anschauen möchte, wird sie wieder nach "joined" sortiert.
Woran kann das denn liegen?

Verfasst: 07.02.2003 19:41
von rincewind
Hat keiner ne Idee???

Verfasst: 07.02.2003 21:53
von esperitox
Gib ma ne url wo man sich das ma anschauen kann.

esperitox

Verfasst: 07.02.2003 22:08
von rincewind
Es können nur registriete User die Memberliste einsehen... :-?
Aber vielleicht hilft ja auch der Code ein wenig weiter:

Code: Alles auswählen

[...]
if ( !$userdata['session_logged_in'] )
{
$header_location = ( @preg_match("/Microsoft|WebSTAR|Xitami/", getenv("SERVER_SOFTWARE")) ) ? "Refresh: 0; URL=" : "Location: ";
header($header_location . append_sid("login.".$phpEx."?redirect=memberlist.".$phpEx, true));
exit;
}
// End 'Restrict Memberlist/Grouplist' MOD

$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;

if(isset($HTTP_POST_VARS['order']))
{
	$sort_order = ($HTTP_POST_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
}
else if(isset($HTTP_GET_VARS['order']))
{
	$sort_order = ($HTTP_GET_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
}
else
{
	$sort_order = 'ASC';
}

//
// Memberlist sorting
//
$mode_types_text = array($lang['Sort_Username'],$lang['Sort_Joined'], $lang['Sort_Location'], $lang['Sort_Posts'], $lang['Sort_Email'],  $lang['Sort_Website'], $lang['Sort_Top_Ten']);
$mode_types = array('username','joindate', 'location', 'posts', 'email', 'website', 'topten');

$select_sort_mode = '<select name="mode">';
for($i = 0; $i < count($mode_types_text); $i++)
{
	$selected = ( $mode == $mode_types[$i] ) ? ' selected="selected"' : '';
	$select_sort_mode .= '<option value="' . $mode_types[$i] . '"' . $selected . '>' . $mode_types_text[$i] . '</option>';
}
$select_sort_mode .= '</select>';

$select_sort_order = '<select name="order">';
if($sort_order == 'ASC')
{
	$select_sort_order .= '<option value="ASC" selected="selected">' . $lang['Sort_Ascending'] . '</option><option value="DESC">' . $lang['Sort_Descending'] . '</option>';
}
else
{
	$select_sort_order .= '<option value="ASC">' . $lang['Sort_Ascending'] . '</option><option value="DESC" selected="selected">' . $lang['Sort_Descending'] . '</option>';
}
$select_sort_order .= '</select>';

//
// Generate page
//
$page_title = $lang['Memberlist'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
	'body' => 'memberlist_body.tpl')
);
make_jumpbox('viewforum.'.$phpEx);

$template->assign_vars(array(
	'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
	'L_EMAIL' => $lang['Email'],
	'L_WEBSITE' => $lang['Website'],
	'L_FROM' => $lang['Location'],
	'L_ORDER' => $lang['Order'],
	'L_SORT' => $lang['Sort'],
	'L_SUBMIT' => $lang['Sort'],
	'L_AIM' => $lang['AIM'],
	'L_YIM' => $lang['YIM'],
	'L_MSNM' => $lang['MSNM'],
	'L_ICQ' => $lang['ICQ'], 
	'L_JOINED' => $lang['Joined'], 
	'L_POSTS' => $lang['Posts'], 

	'S_MODE_SELECT' => $select_sort_mode,
	'S_ORDER_SELECT' => $select_sort_order,
	'S_MODE_ACTION' => append_sid("memberlist.$phpEx"))
);

if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
	$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];

	switch( $mode )
	{
        case 'username':
			$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'joindate':
			$order_by = "user_regdate ASC LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'location':
			$order_by = "user_from $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'posts':
			$order_by = "user_posts $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'email':
			$order_by = "user_email $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'website':
			$order_by = "user_website $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'topten':
			$order_by = "user_posts DESC LIMIT 10";
			break;
		default:
			$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
	}
}
else
{
	$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
}[...]

Verfasst: 07.02.2003 22:23
von esperitox
Du hast ja auch net gemacht was ich geschrieben habe dann kanns ja auch net gehen :wink:

Ersetze:

Code: Alles auswählen

default: 
         $order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page']; 
         break; 
mit:

Code: Alles auswählen

default: 
         $order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page']; 
         break; 
esperitox