Sorry das ich Dich noch weiter beanspruche. Es will einfach nicht klappen.
Gibt aus:
array(26) { [""]=> int(295) [259]=> int(5) [339]=> int(5) [625]=> int(5) [95]=> int(5) [707]=> int(5) [1237]=> int(3) [85]=> int(3) [637]=> int(3) [744]=> int(3) [1412]=> int(3) [1693]=> int(3) [873]=> int(3) [732]=> int(3) [841]=> int(2) [2]=> int(2) [1653]=> int(2) [184]=> int(2) [1190]=> int(2) [1255]=> int(2) [1303]=> int(2) [1414]=> int(2) [27]=> int(2) [79]=> int(2) [331]=> int(2) [762]=> int(2) } array(26) { [0]=> int(295) [1]=> int(5) [2]=> int(5) [3]=> int(5) [4]=> int(5) [5]=> int(5) [6]=> int(3) [7]=> int(3) [8]=> int(3) [9]=> int(3) [10]=> int(3) [11]=> int(3) [12]=> int(3) [13]=> int(3) [14]=> int(2) [15]=> int(2) [16]=> int(2) [17]=> int(2) [18]=> int(2) [19]=> int(2) [20]=> int(2) [21]=> int(2) [22]=> int(2) [23]=> int(2) [24]=> int(2) [25]=> int(2) }
Ist dies Zahl hinter int(2), int(3), int(5) die Punktezahl? Was auch immer das ist, es ist nicht das was ich möchte ;P
*UPDATE*
[""]=> int(295) sind das die Gesamtpunkte von allen? Wenn ich es mir genau anschaue, ist es doch das was ich möchte - zumindest teilweise. Weshalb wird das array 2x ausgegeben?
PHP:
//Array für die Punkteliste initialisieren
//Array('userid'=>punkte)
$punkteliste = array();
//SQL so umschreiben, dass das Datum und die Richtig-Liste ausgelesen werden
$sql = "SELECT nummer, user_richtig FROM `".PREFIX."quiz`";
$result = mysql_query($sql);
while($node = mysql_fetch_array($result)){
//Alle Users aus der Richtig-Liste extrahieren
$users = explode(',',(str_replace('|', '', str_replace('||', ',', $node['user_richtig']))));
//Alle User durchgehen
foreach($users as $user){
//Der Punkteliste die Punkte (Tag) hinzuzählen
$punkteliste[$user] = $punkteliste[$user]+($node['nummer']);
}
}
//Die Punkteliste umgekehrt sortieren
arsort($punkteliste);
//Die Rangliste erstellen
//Array(Rang-1 => 'userid'
$rangliste = array_values($punkteliste);
var_dump($punkteliste, $rangliste);
Gibt aus:
array(26) { [""]=> int(295) [259]=> int(5) [339]=> int(5) [625]=> int(5) [95]=> int(5) [707]=> int(5) [1237]=> int(3) [85]=> int(3) [637]=> int(3) [744]=> int(3) [1412]=> int(3) [1693]=> int(3) [873]=> int(3) [732]=> int(3) [841]=> int(2) [2]=> int(2) [1653]=> int(2) [184]=> int(2) [1190]=> int(2) [1255]=> int(2) [1303]=> int(2) [1414]=> int(2) [27]=> int(2) [79]=> int(2) [331]=> int(2) [762]=> int(2) } array(26) { [0]=> int(295) [1]=> int(5) [2]=> int(5) [3]=> int(5) [4]=> int(5) [5]=> int(5) [6]=> int(3) [7]=> int(3) [8]=> int(3) [9]=> int(3) [10]=> int(3) [11]=> int(3) [12]=> int(3) [13]=> int(3) [14]=> int(2) [15]=> int(2) [16]=> int(2) [17]=> int(2) [18]=> int(2) [19]=> int(2) [20]=> int(2) [21]=> int(2) [22]=> int(2) [23]=> int(2) [24]=> int(2) [25]=> int(2) }
Ist dies Zahl hinter int(2), int(3), int(5) die Punktezahl? Was auch immer das ist, es ist nicht das was ich möchte ;P
*UPDATE*
[""]=> int(295) sind das die Gesamtpunkte von allen? Wenn ich es mir genau anschaue, ist es doch das was ich möchte - zumindest teilweise. Weshalb wird das array 2x ausgegeben?
Zuletzt bearbeitet: