Antworten auf deine Fragen:
Neues Thema erstellen

Rangliste

redbull2906

Nicht mehr ganz neu hier

Hallo zusammen,

ich suche für meine Rangliste beim Fussball-Tippspiel eine Möglichkeit die Veränderung des Ranglistenplatzes eines Tippspielers grafisch in Form von Pfeilen (grüner Pfeil für Platzverbesserung, roter Pfeil für Platzverschlechterung, Punkt für keine Verãnderung) anzuzeigen.

Die Daten bekomme ich aus einer MySql-Datenbank. Ich weiß nicht wie ich mein Script aufbauen muss damit es die Veränderung anzeigt.

Könnte einer von euch mir da weiterhelfe?
 

kleeaar

zwo-eins-risiko!

AW: Rangliste

hmmm...
du müsstest den alten Tabellenplatz speichern, und mit dem neuen vergleichen bzw- subtrahieren.
kommt nun eine zahl kleiner 0 heraus, ist er abgestiegen, bei null ist er gleichgeblieben und bei eine zahl größer null ist er aufgestiegen...
das kannst du ja ganz einfah in einer if-elseif schleife abfragen...

Grüße
 

redbull2906

Nicht mehr ganz neu hier

AW: Rangliste

Ok problem ist nur das ich im moment den Platz mit einer "Hilfsvariablen" erzeuge die sich beim Schleifendurchlauf erhöht bis die Max. Spieleranzahl erreicht ist

Hier mal mein Script

PHP:
$abfrage="SELECT user.vorname, user.nachname, user.motto, user.art, COUNT(tipps.spiel_id) as tipps, COUNT(IF(tipps.punkte=3,1,NULL)) as dreier, COUNT(IF(tipps.punkte = 1, 1, NULL)) as einer, COUNT(IF(tipps.punkte = 0, 1, NULL)) as nuller, SUM(tipps.punkte) AS punkt FROM user 
LEFT JOIN tipps ON user.id = tipps.tipper_id 
GROUP BY user.id 
ORDER BY punkt DESC, dreier DESC, einer DESC, tipps DESC, nuller";
                    $ergebnis=mysql_query($abfrage);
                    $p=1;//Variable für Platz
                    $i=0; //Variable für Zeilenfarbe                  
                    echo '<tbody>';
                    while($row=mysql_fetch_array($ergebnis))
                    {                    
                    if($i%2==0) { 
                                    $classname = ""; 
                                } else {
                                    $classname = ' style="background:#eff4f8;"';
                                }
                    if($i==0){
                        $classname = ' style="background:#efefef;"';
                    }
                    
                    echo '<tr'.$classname.' height="25"><td width="5"></td>
                    <td align="left">'.$p++.'</td><td width="200" align="left">'.ucwords(strtolower($row['vorname'])).' '.ucwords(strtolower($row['nachname'])).'';
                    if($row['art'] == 1){
                    echo '&nbsp;<b>(M)</b>';
                    }
                    if($row['art'] == 2){
                    echo '&nbsp;<b>(N)</b>';
                    }
                    echo '</td>';
                    echo '<td></td>
                    <td align="center">'.$row['motto'].'</td><td align="center">'.$row['punkt'].'</td></tr>'."\n".''; 
                    $i++;
                    }
                    echo '</table>'."\n".'';
 

kleeaar

zwo-eins-risiko!

AW: Rangliste

ok, aber hast du auch irgendwo den alten tabellenplatzt gespeichert?
denn ohne diese angabe wirds wohl kaum gehen...

Grüße
 

redbull2906

Nicht mehr ganz neu hier

AW: Rangliste

Nein den alten Platz habe ich nicht gespeichert da er ja "neu" generiert wird beim Seitenaufbau - glaub das wird auch mein Problem sein warum ich dass mit den Pfeilen im moment nicht realisieren kann
 

FreddyX2

Aktives Mitglied

AW: Rangliste

Nein den alten Platz habe ich nicht gespeichert da er ja "neu" generiert wird beim Seitenaufbau - glaub das wird auch mein Problem sein warum ich dass mit den Pfeilen im moment nicht realisieren kann

Jap, ist es. Um etwas zu vergleichen brauchst Du schließlich mindestens 2 Werte. In Deinem Fall den alten und den neuen.
Woher willst Du wissen, ob die / der Jenige aufgestiegen oder abgestiegen ist, wenn Du nicht weißt, wie die alte Position der / des Jenigen war.
 

kleeaar

zwo-eins-risiko!

AW: Rangliste

mach dir doch kurz ein Hilfskript, der einfach in zwei neue Felder deiner Tabelle den aktuellen PLatzt in beide Felder einträgt.
das kannst du ja einfach in der Abfrage von oben einbinden und $p eintragen.
dann hast du schon mal den aktuellen PLatzt gespeichert.
(das ist aber nur beim Einrichten nötig und nachher nichtmehr..!)

wenn du jetzt in das Script, in welchem du selber die Punkte eingibst diese abfrage von Oben erneut ablaufen lässt, und nach punkten ordnest, musst du nun zuerst den aktuellen gespeicherten Rang aus deiner Datenbank auslesen, in dem Feld des alten Ranges speichern, und dann die Variable $p wieder als aktuellen Rang speichern...
schon hast du alles was du brauchst...
ist doch nicht schwer;)

Grüße
 

redbull2906

Nicht mehr ganz neu hier

AW: Rangliste

ok :) steh im moment aufem schlauch - weiß nicht genau wie du dir das denkst.

Die $p muss ich ja dann auch dem einzelnen user zu ordnern können oder nicht?
 

kleeaar

zwo-eins-risiko!

AW: Rangliste

genau, das kannst du machen, indem du den Namen hast und dann einfach mit UPDATE...WHERE name="$name"...
dann hast du ja $p exakt deisem Spieler zugewiesen...

denke nohchmal selber darüber nach...
ansonsten kann ich dir morgen wieder weiterhelfen...
aber für heute bin ich offline ;)

Grüße
 
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

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben