Mitglieder werden falsch sortiert
Hola, ich hab mal wieder was...
wenn ich unter Mitglieder die User nach "Mitglied seit" sortiere, zeigt mir die erste Seite auch die neuesten User an, wenn ich dann auf Seite 2 klicke, wird mir wieder die alphapetische Reihenfolge angezeigt. Das komische an der Sache ist, dass ich sicher weiß, dass das früher anders war. An der "login/member.php" hab ich auch - außer den Änderungen lt. Musel - nichts mehr geändert. Allerdings hatten wir einen Serverumzug und ich bin mir nicht sicher, ob ich das seitdem schon mal aufgerufen habe...
hier mal die login/member.php, die o. g. Änderungen sind in Zeile 3, 6, 18 und 45 - wäre schön, wenn jemand nen Tipp für mich hat
wenn ich unter Mitglieder die User nach "Mitglied seit" sortiere, zeigt mir die erste Seite auch die neuesten User an, wenn ich dann auf Seite 2 klicke, wird mir wieder die alphapetische Reihenfolge angezeigt. Das komische an der Sache ist, dass ich sicher weiß, dass das früher anders war. An der "login/member.php" hab ich auch - außer den Änderungen lt. Musel - nichts mehr geändert. Allerdings hatten wir einen Serverumzug und ich bin mir nicht sicher, ob ich das seitdem schon mal aufgerufen habe...
hier mal die login/member.php, die o. g. Änderungen sind in Zeile 3, 6, 18 und 45 - wäre schön, wenn jemand nen Tipp für mich hat
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
<?php
if (getrights($config['member_infoshow'])=="true") {
if (isset($_REQUEST['entries'])) $entries=intval($_REQUEST['entries']);
else $entries=0;
$epp=$config['member_epp'];
if (isset($_REQUEST['letter'])) $letter=addslashes($_REQUEST['letter']);
$phpkit_status=phpkitstatus();
$total_user=$phpkit_status['user_counter'];
$i=array($lang['all'],"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
foreach($i as $h) {
if ($h==$letter or ($letter=="" && $h==$lang['all'])) {$a[]="<b>("; $a[].=")</b>";}
eval ("\$member_letterlinks.= \"".getTemplate("member_letter_link")."\";");
unset($a);
}
if ($letter!=$lang['all'] && $_REQUEST['letter']!="") $searchstr=" AND user_nick LIKE '".addslashes($letter)."%' ";
if ($_REQUEST['usernick']!=$lang['search_user']) {
$usernick=$_REQUEST['usernick'];
$searchstr.=" AND user_nick LIKE '%".$usernick."%' ";
$counter=$DB->fetch_array($DB->query("SELECT COUNT(*) FROM ".$db_tab['user']." WHERE user_activate='1' ".$searchstr));
}
else unset($usernick);
if ($entries>$counter[0]) $entries=0;
$total_side=sidelinkfull($counter[0], $epp, $entries, "include.php?path=login/member.php&order=".$order."&usernick=".$usernick."&letter=".$letter,"small");
// *** Punktesystem Pro *** Start ***
$psp_info = $DB->fetch_array($DB->query("SELECT psp_waehrung FROM ".$db_tab['psp_config'].""));
// *** Punktesystem Pro *** Ende ***
if (isset($_REQUEST['order'])) {$order=$_REQUEST['order'];}
if ($order=="os") {$order2="up"; $order="logtime DESC";}
elseif ($order=="osup") {$order="logtime ASC";}
elseif ($order=="signin") {$order3="up"; $order="signin DESC";}
elseif ($order=="signinup") {$order="signin ASC";}
// *** Punktesystem Pro *** Start ***
elseif ($order=="pspin") {$order4="up"; $order="psp_punkte DESC";}
elseif ($order=="pspinup") {$order="psp_punkte ASC";}
// *** Punktesystem Pro *** Ende ***
elseif ($order=="nickup") {$order="user_nick DESC";}
else {$order1="up"; $order="user_nick ASC";}
$getuserinfo=$DB->query("SELECT * FROM ".$db_tab['user']." WHERE user_activate=1 ".$searchstr." ORDER by ".$order." LIMIT ".$entries.", ".$epp);
while ($userinfo=$DB->fetch_array($getuserinfo)) {
$userinfo['user_nick']=htmlentities($userinfo['user_nick']);
$row=rowcolor($row);
eval ("\$info_nick= \"".getTemplate("member_showprofil_textlink")."\";");
if ($userinfo['user_sex']=="m") {eval ("\$info_profile= \"".getTemplate("member_showprofil_iconlink_m")."\";");}
elseif ($userinfo['user_sex']=="w") {eval ("\$info_profile= \"".getTemplate("member_showprofil_iconlink_w")."\";");}
else {eval ("\$info_profile= \"".getTemplate("member_showprofil_iconlink","")."\";");}
if ($userinfo['user_hpage']!='') {
if (strstr(strtolower($userinfo['user_hpage']),'http://')) {$info_link=$userinfo['user_hpage'];}
else {$info_link='http://'.$userinfo['user_hpage'];}
eval ("\$info_hpage= \"".getTemplate("member_hpage_iconlink")."\";");
}
else {$info_hpage=' ';}
if ($userinfo['user_emailshow']==1) {
if ($config['member_mailer']==1) {eval ("\$info_email= \"".getTemplate("member_email_iconlink2")."\";");}
else {eval ("\$info_email= \"".getTemplate("member_email_iconlink")."\";");}
}
else {$info_email=' ';}
if ($userinfo['user_imoption']==1) {eval ("\$info_im= \"".getTemplate("member_sendim_iconlink")."\";");}
else {eval ("\$info_im= \"".getTemplate("member_sendim_nolink")."\";");}
eval ("\$info_buddie= \"".getTemplate("member_buddie_iconlink")."\";");
if (isonline($userinfo['user_id'])) eval ("\$info_os= \"".getTemplate("member_os_online")."\";");
else eval ("\$info_os= \"".getTemplate("member_os_offline")."\";");
$info_signin=formattime($userinfo['signin'],'','date');
eval ("\$member_overview_rows.= \"".getTemplate("member_row")."\";");
}
include ("login/inc.nav_user.php");
eval ("\$site_body.= \"".getTemplate("member")."\";");
}
else {header("location: include.php?event=1&PHPKITSID=".session_id()); exit();}
?>
|
Von unten sieht Niveau aus wie Arroganz.
danke erstmal für die Antwort
- ich hoffe, ich hab sie auch richtig verstanden...
Also an den templates hab ich nichts verändert, die sind alle seit dem Serverumzug unverändert. Wie gesagt, ich denke, davor hat es auf jeden Fall funktioniert. Die Adresszeile springt nach dem sortieren nach "Mitglied seit" auf:
include.php?path=login/member.php&order=signinup&usernick=&letter=&PHPKITSID=blablabla
wenn ich dann auf "Seite 2" klicke, ändert sich das auf
include.php?path=login/member.php&order=&usernick=&letter=&entries=100&PHPKITSID=blablabla
- also wird die Einstellung wohl nicht übernommen... aber wieso??
Ich bin mir schon im Klaren drüber, dass es möglicherweise eine Kleinigkeit sein kann/ist - mein Verständnis für php ist zwar schon ein bisschen besser geworden, aber eben nur ein bisschen ;-(
Also an den templates hab ich nichts verändert, die sind alle seit dem Serverumzug unverändert. Wie gesagt, ich denke, davor hat es auf jeden Fall funktioniert. Die Adresszeile springt nach dem sortieren nach "Mitglied seit" auf:
include.php?path=login/member.php&order=signinup&usernick=&letter=&PHPKITSID=blablabla
wenn ich dann auf "Seite 2" klicke, ändert sich das auf
include.php?path=login/member.php&order=&usernick=&letter=&entries=100&PHPKITSID=blablabla
- also wird die Einstellung wohl nicht übernommen... aber wieso??
Ich bin mir schon im Klaren drüber, dass es möglicherweise eine Kleinigkeit sein kann/ist - mein Verständnis für php ist zwar schon ein bisschen besser geworden, aber eben nur ein bisschen ;-(
Von unten sieht Niveau aus wie Arroganz.
ich habe da eine idee...
ACHTUNG UNGETESTET (backup machen)
In der member.php suche nach:
Schneide die ganze Zeile aus, und füge sie unter dem folgenden code ein:
Das ganze sollte in deinem fall dann in etwa so aussehen:
mfg ich hoffe es klappt
ACHTUNG UNGETESTET (backup machen)
In der member.php suche nach:
|
|
PHP-Quelltext |
1 |
$total_side=sidelinkfull($counter[0], $epp, $entries, "include.php?path=login/member.php&order=".$order."&usernick=".$usernick."&letter=".$letter,"small");
|
Schneide die ganze Zeile aus, und füge sie unter dem folgenden code ein:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 |
if (isset($_REQUEST['order'])) {$order=$_REQUEST['order'];}
if ($order=="os") {$order2="up"; $order="logtime DESC";}
elseif ($order=="osup") {$order="logtime ASC";}
elseif ($order=="signin") {$order3="up"; $order="signin DESC";}
elseif ($order=="signinup") {$order="signin ASC";}
elseif ($order=="nickup") {$order="user_nick DESC";}
else {$order1="up"; $order="user_nick ASC";}
|
Das ganze sollte in deinem fall dann in etwa so aussehen:
|
|
PHP-Quelltext |
1 2 3 4 5 6 |
// *** Punktesystem Pro *** Ende ***
elseif ($order=="nickup") {$order="user_nick DESC";}
else {$order1="up"; $order="user_nick ASC";}
$total_side=sidelinkfull($counter[0], $epp, $entries, "include.php?path=login/member.php&order=".$order."&usernick=".$usernick."&letter=".$letter,"small");
$getuserinfo=$DB->query("SELECT * FROM ".$db_tab['user']." WHERE user_activate=1 ".$searchstr." ORDER by ".$order." LIMIT ".$entries.", ".$epp);
|
mfg ich hoffe es klappt
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »jerryGFL« (18. April 2008, 01:14)
das mit dem ändern der zeile bewirkt folgendes:
in der adresszeile wird bei order "signinup" übergeben..
machst du die zeile also unter dem anderen code, wird anstatt "signinup" eben "signin ASC" genommen.
siehe:
versuch es so abzuändern:
in das:
in der adresszeile wird bei order "signinup" übergeben..
machst du die zeile also unter dem anderen code, wird anstatt "signinup" eben "signin ASC" genommen.
siehe:
|
|
PHP-Quelltext |
1 |
elseif ($order=="signinup") {$order="signin ASC";}
|
versuch es so abzuändern:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 |
if ($entries>$counter[0]) $entries=0;
$total_side=sidelinkfull($counter[0], $epp, $entries, "include.php?path=login/member.php&order=".$order."&usernick=".$usernick."&letter=".$letter,"small");
// *** Punktesystem Pro *** Start ***
$psp_info = $DB->fetch_array($DB->query("SELECT psp_waehrung FROM ".$db_tab['psp_config'].""));
// *** Punktesystem Pro *** Ende ***
if (isset($_REQUEST['order'])) {$order=$_REQUEST['order'];}
if ($order=="os") {$order2="up"; $order="logtime DESC";}
|
in das:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 |
if ($entries>$counter[0]) $entries=0;
if (isset($_REQUEST['order'])) {$order=$_REQUEST['order'];} // NEU: $order hier neu eingefügt
$total_side=sidelinkfull($counter[0], $epp, $entries, "include.php?path=login/member.php&order=".$order."&usernick=".$usernick."&letter=".$letter,"small");
// *** Punktesystem Pro *** Start ***
$psp_info = $DB->fetch_array($DB->query("SELECT psp_waehrung FROM ".$db_tab['psp_config'].""));
// *** Punktesystem Pro *** Ende ***
# if (isset($_REQUEST['order'])) {$order=$_REQUEST['order'];} // ALT: $order versetzt nach oben
if ($order=="os") {$order2="up"; $order="logtime DESC";}
|
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |



