Gebruikerslijst automatisch op aantal posts sorteren
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.

Gebruikerslijst automatisch op aantal posts sorteren
Als ik op de gebruikerslijst klik, dan sorteert deze automatisch op aanmeldingsdatum. Ik kan vervolgens wel handmatig sorteren op aantal posts, maar ik wil dat dit automatisch gebeurt.
Hoe doe ik dat?
Hoe doe ik dat?
memberlist.php en dan zoeken naar
en dan veranderen in
Code: Selecteer alles
$mode = 'joined'
$mode = 'posts'
lol, dat zou ik niet doen, dan verneuk je die functies. Je moet op zoek gaan naar de standaardmode die memberlist.php aanneemt wanneer $mode niet bestaat.hotrid schreef:memberlist.php en dan zoeken naar
en dan veranderen inCode: Selecteer alles
$mode = 'joined'
$mode = 'posts'

Laatst gewijzigd door mosymuis op 13 jan 2004, 14:34, 1 keer totaal gewijzigd.
Bedoel je deze mosymuis. (als dit zo is dan moet je het omdraaien met wat je wilt (dus eerst de ander vooraan zetten)
TEst anders ff (en sla de bestanden eerst op!)
Code: Selecteer alles
case 'joined':
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
Code: Selecteer alles
$mode_types_text = array($lang['Sort_Joined'],
TEst anders ff (en sla de bestanden eerst op!)
Nu sorteert ie vanzelf op posts van hoog naar laag:
Verander het naar het rode (bij het eerste van joined naar posts, bij het tweede van ASC naar DESC).
Verander het naar het rode (bij het eerste van joined naar posts, bij het tweede van ASC naar DESC).
//
// End session management
//
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? htmlspecialchars($HTTP_POST_VARS['mode']) : htmlspecialchars($HTTP_GET_VARS['mode']);
}
else
{
$mode = 'posts';
}
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 = 'DESC';
}
Wat Cheeta dus zegt:
Want:Cheeta schreef:mosymuis wilt het op de veilige manier doen
Maar:Cheeta schreef:als een sorteer mogelijkheid faalt gaat die over naar een andere!
Wil je het dus op een veilige manier doen doe het dan op de manier van mosymuis.Cheeta schreef:normaal gesproken mag dat geen probleem wezen!!!
ik denk dat mosymuis deze manier wil:
Lees maar eens door dit stukje maar begin onderaan.... :
Sql selecteert allerlei velden uit user_table maar alleen waar user_id ongelijk is aan ANONYMOUS en word gesorteerd ORDER BY $order_by....
$order_by is dus een variabele die naar een ander stuk van een code wijst waarin verteld word waar die op moet sorteren... daar staat er direct boven....:
case: joined, username website.... etc... maar onderaan staat:
default betekend gewoon algemeen of standaard....
daarbij default staat dus $order_by = user_regdate
dan wil je waarschijnlijk ook nog graag de volgorde veranderen...
er staat dus achter $sort_order dat is dus de variabele die we gaan terugzoeken in het bestand:
Hier staat een heel verhaal zou je zeggen... toch zit er nog logica in...:
er staat ongeveer zoiets:
als er in de adresbalk staat aflopend of oplopend sorteren dan moet dat worden toegepast... als er niks staaat dan ASC... maak daar maar vrolijk DESC van als je dat nodig vind...
Code: Selecteer alles
switch( $mode )
{
case 'joined':
$order_by = "user_regdate ASC LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'username':
$order_by = "username $sort_order 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 $sort_order LIMIT 10";
break;
case $cm_memberlist->modecheck($mode):
$order_by = $cm_memberlist->getfield($mode) . " $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
default:
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
}
$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . "
ORDER BY $order_by";
Sql selecteert allerlei velden uit user_table maar alleen waar user_id ongelijk is aan ANONYMOUS en word gesorteerd ORDER BY $order_by....
$order_by is dus een variabele die naar een ander stuk van een code wijst waarin verteld word waar die op moet sorteren... daar staat er direct boven....:
case: joined, username website.... etc... maar onderaan staat:
Code: Selecteer alles
default:
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
daarbij default staat dus $order_by = user_regdate
dan wil je waarschijnlijk ook nog graag de volgorde veranderen...
er staat dus achter $sort_order dat is dus de variabele die we gaan terugzoeken in het bestand:
Code: Selecteer alles
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
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'];
}
else
{
$mode = 'joined';
}
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';
}
er staat ongeveer zoiets:
als er in de adresbalk staat aflopend of oplopend sorteren dan moet dat worden toegepast... als er niks staaat dan ASC... maak daar maar vrolijk DESC van als je dat nodig vind...
Alleen support via het forum, dus geen support via email, msn of pb.