Antworten auf deine Fragen:
Neues Thema erstellen

MAX() MySql

redbull2906

Nicht mehr ganz neu hier

Hallo zusammen,

ich möchte für mein Bundesliga-Tippspiel abfragen was die höchste Punktzahl pro Spieltag war und nur den Tippspieler ausgeben der am häufigsten die meisten Punkte hatte.

Meine Sql abfrage sieht im Moment so aus

PHP:
$abfrage2 ="SELECT SUM(tipps.punkte) as pkt, user.vorname as name, FROM tipps LEFT JOIN spieltag ON spieltag.spiel_id = tipps.spiel_id LEFT JOIN user ON user.id = tipps.tipper_id GROUP BY spieltag.spieltag";
$ergebnis = mysql_query($abfrage);
$anzahl = array();
while($row=mysql_fetch_assoc($ergebnis2)){
 array_push($anzahl, $row);
}
                                $max = max($anzahl);
echo 'Spieltagsiege: '.count($max['pkt']).' - '.$max['name'].'';

Aber das liefert mir nicht das gewünschte Ergebnis.

In der $max habe ich den höchsten Wert nur count() liefert mir ja nur zurück wie viel Strings im array sind, oder?

Wisst ihr vllt. irgendwie wie ich zu meinem gewünschten Ergebnis komme?
 

saila

Moderatorle

AW: MAX() MySql

MAX(tipss.punkte)... sollte das Ergebnis liefern. Was du mit der while-Schleife möchtest, wenn nur ein Ergebnis zurückgeliefert wird, ist unklar. Ein Ergebnis muss nicht dur eine while-Schleife, wenn du das Array direkt einer Variablen zuweisen kannst.
 

redbull2906

Nicht mehr ganz neu hier

AW: MAX() MySql

MAX(tipps.punkte) hilft mir auch erstmal nicht weiter. Ich muss ja erst mal wissen wie viele Punkte die jeweiligen Spieler pro Spieltag haben. Deshalb hab ich mir das array $max angelegt in dem ja später stehen soll welcher Spieler wieviel Punkte hat.

Ich weiß jetzt nur nicht wie ich weiter mein Script schreiben soll damit er mir die Anzahl des Spielers ausgibt der am häufigsten die meisten Punkte an einem Spieltag hat.

Steh da irgendwie aufem Schlauch...
 

MRspeed

Noch nicht viel geschrieben

AW: MAX() MySql

Also,
wenn ich dich richtig verstehe hast du bereits ein Array mit den Daten, du willst nur den Entsprechenden finden?!
Dann mach einfach ne Schleife drüber und merk dir immer den Größten. Du fragst für jedes Element ab, ob das Größer ist als dein Temp-Element, wenn ja speicher das als Temp.
wenn die Schleife durch ist, ist Temp dein Spieler mit den Größten Wert.
 

redbull2906

Nicht mehr ganz neu hier

AW: MAX() MySql

ja in meinem array steht die Summe der Punkte für den jeweiligen Spieler pro Spieltag - genau. Ich müsste jetzt nur wissen welcher Spieler am meisten die höchste Punktzahl pro Spieltag hatte.

Kann deinem Lösungsweg aber noch net so ganz folgen - was ist dann mein Temp-Wert? und wie würde die schleife dazu aussehen?
 

MRspeed

Noch nicht viel geschrieben

AW: MAX() MySql

also:
Code:
$temp = 0;
foreach($array as $value){
if($value > $temp){
$temp = $value;
}
}

so, dann ist der größte wert im array nach durchlauf in $temp. wenn du ein multidimensionales array hast solltest du in der foreach schleife nochmal nachfragen:
if(is_array($value)){
//dann nochmal eine foreach schleife über $value
}

eigentlich würde man das durch rekursives aufrufen einer Funktion eleganter machen, aber das ist meiner Meinung nach schwieriger zu verstehen.

ich hoff das war verständlich, wenn immer noch unklar, frag einfach.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben