PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ländercode sortieren



Rallef
28.06.2009, 19:44
Hallo,

ich bin gerade dabei meine Liste mit den Ländercodes per DESC und ASC zu sortieren - alles was da so in der Liste angezeigt wird, also Nickname, UID usw. habe ich hin bekommen - aber die Länder bekomme ich nicht hin.

Normal steht ja immer sowas z.B. dabei:
$userdaten['nickname']

dann sortiere ich nach: nickname

Aber bei den Ländern steht ja nur:
$land

also ohne ['...'] dahinter, nach dem ich sortieren lassen könnte.

Wie kann ich das hin bekommen, dass ich die Länder sortieren lassen kann?

Sebmaster
28.06.2009, 19:58
Wie kann ich das hin bekommen, dass ich die Länder sortieren lassen kann?

Im Standard-Ländercode werden die Länder meiner Meinung nach mit nem Query in einer while-Schleife erzeugt, von daher ist es so nicht möglich:frusty:

Du kannst nur alles in einen Query packen (LEFT JOIN) und dann kannst du die Länder sortieren:wink:

Rallef
28.06.2009, 20:01
Naja, sooooo gut kenn ich mich dann doch nicht aus :biggrin1:

Wie müsste ich das denn machen mit diesem Left join?

Sebmaster
28.06.2009, 20:11
Ich kann dir nur das geben was ich hab (habs bei mir ein wenig umgeschrieben). Bei mir siehts im Moment so aus:


$abfrage = db_query("SELECT k.uid, k.kontostand, k.klicks, k.angebettelt, k.s_aufrufe, k.status, u.vorname, u.angemeldet_seit, u.nachname, e.emailadresse, l.land
FROM vms_kontodaten k
LEFT JOIN vms_userdaten u ON k.uid = u.uid
LEFT JOIN vms_emaildaten e ON k.uid = e.uid LEFT JOIN laendercode l ON l.IP_FROM <= inet_aton( k.login_ip ) AND l.IP_TO >= inet_aton( k.login_ip )");

while ($userdaten = mysql_fetch_assoc($abfrage)) {
echo '
<tr>
<td align="center">'.$gfx_status[$userdaten['status']].'</td>
<td align="center"><a href="?content=/usersystem/userbearbeiten&uid='.$userdaten['uid'].'" target="_self">'.$userdaten['uid'].'</a></td>
<td align="center">'.$userdaten['land'].'</td>
<td align="center">'.number_format($userdaten['kontostand'],2,",",".").'</td>
<td align="center">'.$userdaten['vorname'].' '.$userdaten['nachname'].'</td>
<td align="center">'.$userdaten['emailadresse'].'</td>
<td align="center">'.date("d.m.y - H:i",$userdaten['angemeldet_seit']).'</td>
<td align="center">'.$userdaten['klicks'].'</td>
<td align="center">'.$userdaten['angebettelt'].'</td>
<td align="center">'.$userdaten['s_aufrufe'].'</td>
</tr>
';
}

Rallef
28.06.2009, 20:32
Hmm naja, hilft mir jetzt nicht so wirklich weiter, aber danke.

Sebmaster
28.06.2009, 20:46
Hmm naja, hilft mir jetzt nicht so wirklich weiter, aber danke.

Weil? Wo liegt das Problem?:rolleyes:

Rallef
28.06.2009, 21:08
Bei mir steht das so drin


// ip auf herkunft suchen
$abfrage = mysql_query("SELECT ".$db_prefix."_kontodaten.*, ".$db_prefix."_userdaten.vorname, ".$db_prefix."_userdaten.angemeldet_seit, ".$db_prefix."_userdaten.nachname, ".$db_prefix."_userdaten.nickname, ".$db_prefix."_emaildaten.emailadresse FROM ".$db_prefix."_kontodaten, ".$db_prefix."_userdaten, ".$db_prefix."_emaildaten WHERE ((".$db_prefix."_kontodaten.uid = ".$db_prefix."_userdaten.uid) and (".$db_prefix."_kontodaten.uid = ".$db_prefix."_emaildaten.uid) and (".$db_prefix."_userdaten.uid = ".$db_prefix."_emaildaten.uid)) ".$order_suffix."
") or die(mysql_error());
while ($userdaten = mysql_fetch_array($abfrage)) {
$land = '';
if ($userdaten['login_ip'] != ''){
$ccode_array = mysql_fetch_array(db_query("SELECT * FROM laendercode WHERE IP_FROM<=inet_aton('".$userdaten['login_ip']."') AND IP_TO>=inet_aton('".$userdaten['login_ip']."');"));
//$cc2=$ccode_array['CC2'];
$land=$ccode_array['land'];
};

Jetzt weiss ich nicht, wie ich das mit dem Code von dir "vereinigen" soll kann darf muss

Sebmaster
28.06.2009, 21:11
Jetzt weiss ich nicht, wie ich das mit dem Code von dir "vereinigen" soll kann darf muss

Ersetzen:thumb: (inkl. Ausgabe, wobei du dann deine Änderungen nocheinmal machen musst)

Rallef
29.06.2009, 14:54
An sich treten dann zwei Probleme auf.

Das erste und schwerwiegendste ist, dass die Seite dann mindestens doppelt so lange lädt wie vorher, und auch wenn ich versuche einen anderen Link auf der Seite zu klicken (egal ob im Adminforce oder als User) erst mal gar nix mehr geht, bis ich die Internetverbindung trenne und neu einwählen lasse.

Das andere ist, dass dann das Sortieren nicht mehr funktioniert - warum auch immer.

Sebmaster
29.06.2009, 15:36
Okay, hätte noch was anderes für dich: http://designerscripte.net/showthread.php?t=9055

Im Grunde bräuchtest du nur jQuery Tablesorter, ich hab da ein zusätzliches Addon fürs durchsuchen eines Tables gebastelt, wie du willst:wink: