Topliste

knudd
Hab schon wieder eine neue Idee ^^

Eine Topliste die anzeigt welches Land wie viele User stellt.

Den Rohbau hab ich ....

aber ich bekomme die abfrage wieder nicht hin das habe ich im userCP.php verbaut..

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
/* ANFANG Topliste */

if($action=="topliste") { $werte=$db->query_first("SELECT * FROM bb".$n."_users WHERE Countygo='".$users['Countygo']."'");
 if(!$top) { $Countygoresult $db->query("SELECT distinct Countygo FROM bb".$n."_users ORDER BY Countygo DESC LIMIT 0,10"); $topanzahl 100; } 
else { $Countygoresult $db->query("SELECT distinct Countygo FROM bb".$n."_users ORDER BY Countygo DESC LIMIT 0,$top"); 
while($users $db->fetch_array($Countygoresult)) { 
$Countygo_user_anzahl $db->query_first("SELECT COUNT(Countygo) FROM bb".$n."_users WHERE Countygo='".$users['Countygo']."'"); 
if($Countygo_user_anzahl[0] >= 1) { if($users['Countygo'] == $countygo_value$trainerlinks .= "<a href=\"memberslist.php?order=".ASC."&sortby=".town."&Countygo=".$users['Countygo']."&sid=".$session['hash']."\">".$users['Countygo']."</b></a> - "; 
else $trainerlinks .= "<a href=\"memberslist.php?order=".ASC."&sortby=".town."&Countygo=".$users['Countygo']."\">".$users['Countygo']."</a> - "; } 
else $trainerlinks .= ""; } $trainerlinks substr($trainerlinks0, -3); 

$topanzahl $top; } $topbit=""$platz 1$counttop 0; 
while($row $db->fetch_array($result)) { if($counttop == 1) { $tableib "tableb"$tablecolor "{tablecolorb}"$counttop 0; }
 else { $tableib "tablea"$tablecolor "{tablecolora}"$counttop 1; } if($platz == 1) { eval ("\$Countygotop_Countygo = \" ".$tpl->get("Countygotop_Countygo")."\";"); } 
if($users['Countygo'] == $countygo_value$trainerlinks .= "<a href=\"memberslist.php?order=".ASC."&sortby=".town."&Countygo=".$users['Countygo']."&sid=".$session['hash']."\">".$users['Countygo']."</b></a> - "; { 
if($row['Countygo'])
 eval ("\$Countygo = \"".$tpl->get("Countygotop_Countygo")."\";"); } 
eval ("\$Countygotopbit .= \" ".$tpl->get("Countygotop_bit")."\";"); $platz $platz 1; } eval("\$tpl->output(\"".$tpl->get("Countygotop")."\");"); }

 /* ENDE Topliste */
.

Immerhin keine Fehler meldung bis jetzt
https://www.trainercode.net/usercp.php?action=topliste

Login: PHP
PW:admin
Beckebans
Du solltest dir nochmal den Aufbau von Elementen in HTML angucken. Bei den Tabellen fällt es besonders auf, es betrifft aber auch z.B. Schriften. Du vergisst dort öfters mal diese Elemente (table, tr, td, font,...) zu öffnen bzw. schließen. Es hilft dabei, wenn man die einzelnen Ebenen passend mit Leerzeichen oder Tabs einrückt. Dann das zuletzt geöffnete zuerst wieder schließen usw. bis alles zu ist. Viele Browser bügeln die Fehler zwar irgendwie aus, aber du kannst dir nicht sicher sein wie genau es später beim User angezeigt wird. Von daher von Anfang an darauf achten, das mag vielleicht erst lästig sein, spart aber am Ende viel Ärger.
Du kannst ja die angehängten Dateien mal mit deinen von vorher vergleichen, dann siehst du das vielleicht schon besser was ich meine. Noch deutlicher sieht man es bei den Dateien aus dem "Mitglieder auslesen" Thema.


Zum Code selbst:
- Du fragst oben $top, $countygo_value, $row, $members ab, wo kommt das her? Da es bisher nicht festgelegt ist, kommst du z.B. beim $top nie in den "else"-Teil. Nur der "else"-Teil verarbeitet aber im Moment die Datenbankabfrage.
- Bei den Trainerlinks schreibst du ".ASC." und ".town.". So abfragen brauchst du das nur, wenn du Variablen verwendest. Da es hier nur normaler Text ist, einfach das ". ." weglassen.
- Im Haupttemplate nennst du eine Variable $kisstopbit, in der PHP Datei heißt sie dann $Countygotopbit. Das muss gleich sein, wenn etwas angezeigt werden soll. Wahrscheinlich aber nur ein Copy&Paste Fehler Augenzwinkern
knudd
Also werde ich so keine anfrage herstellen können dachte ich nutze den kiss heck dafür und den teil aus der memberliste.php aber das ist schwieriger als ich dachte ...

und ich hab mir die datein angeschaut ^^ und da fehlte einiges^^
Beckebans
Ich habe mal etwas zusammengestellt, von dem ich glaube dass es so sein könnte. Nur mit dem $trainerlinks konnte ich nichts anfangen. Da musst du selbst mal gucken, wo du das hin haben möchtest.
knudd
Erstmal danke für deine mühen.









SQL-DATABASE ERROR

Database error in WoltLab Burning Board: Invalid SQL: SELECT username, Countygo FROM bb1_users ORDER BY Countygo DESC,100
mysql error: Unknown column '100' in 'order clause'
mysql error number: 1054
Date: 04.08.2019 @ 09:23
Script: /usercp.php?action=topliste
Referer:
Beckebans
Kleine Änderung.
knudd
Zitat:
Original von Beckebans
Kleine Änderung.


Die Fehlermeldung ist weg.

Hmmm jetzt werden die user aufgelistet.


Möchte nicht nörgeln .

Aber ich dachte es so ...

Platz Pic County Trainer
1 [Flag pic] Germany 243
2 [Flag pic] USA 222
3 [Flag pic] Kanada 112
4 [Flag pic] Polen 12
5 [Flag pic] Schweiz 1

[Die Trainer zahlen hier sind frei erfunden. für das beispiel]

Wie so ein Medaillenspiegeln bei Olympia ^^



https://www.trainercode.net/usercp.php?action=topliste

Login: PHP
PW:admin
Beckebans
Ok, das ist schon mal gut zu wissen. Ich habe die Datenbankabfrage geändert, kann sie hier aber gerade nicht testen. Versuche es mal hiermit:
knudd
Zitat:
Original von Beckebans
Ok, das ist schon mal gut zu wissen. Ich habe die Datenbankabfrage geändert, kann sie hier aber gerade nicht testen. Versuche es mal hiermit:



Das du das so hin bekommst ohne immer zu schauen Respekt.
Ich bin sehr stolz auf dich das du das hin bekommen hast .
Ich Danke dir und jetzt werde ich dich erst mal ....(Bis ich neue ideen hab)
Nicht mehr nerven ...

Ganz grossen Respekt haste von mir !

DANKE !

Thema erledigt !