Anzeige

Rangliste

Rangliste | PSD-Tutorials.de

Erstellt von redbull2906, 23.01.2010.

  1. redbull2906

    redbull2906 Nicht mehr ganz neu hier

    Dabei seit:
    10.09.2007
    Beiträge:
    170
    Geschlecht:
    männlich
    Software:
    Photoshop, Dreamweaver, Illustrator
    Kameratyp:
    Nikon D60 & Nikon D7000
    Rangliste
    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?
     
    #1      
  2. kleeaar

    kleeaar zwo-eins-risiko!

    1
    Dabei seit:
    26.03.2008
    Beiträge:
    2.766
    Geschlecht:
    männlich
    Kameratyp:
    Samsung GX 1L
    Rangliste
    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
     
    #2      
  3. redbull2906

    redbull2906 Nicht mehr ganz neu hier

    Dabei seit:
    10.09.2007
    Beiträge:
    170
    Geschlecht:
    männlich
    Software:
    Photoshop, Dreamweaver, Illustrator
    Kameratyp:
    Nikon D60 & Nikon D7000
    Rangliste
    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:
    1. $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
    2. LEFT JOIN tipps ON user.id = tipps.tipper_id
    3. GROUP BY user.id
    4. ORDER BY punkt DESC, dreier DESC, einer DESC, tipps DESC, nuller";
    5.                     $ergebnis=mysql_query($abfrage);
    6.                     $p=1;//Variable für Platz
    7.                     $i=0; //Variable für Zeilenfarbe                  
    8.                     echo '<tbody>';
    9.                     while($row=mysql_fetch_array($ergebnis))
    10.                     {                    
    11.                     if($i%2==0) {
    12.                                     $classname = "";
    13.                                 } else {
    14.                                     $classname = ' style="background:#eff4f8;"';
    15.                                 }
    16.                     if($i==0){
    17.                         $classname = ' style="background:#efefef;"';
    18.                     }
    19.                    
    20.                     echo '<tr'.$classname.' height="25"><td width="5"></td>
    21.                    <td align="left">'.$p++.'</td><td width="200" align="left">'.ucwords(strtolower($row['vorname'])).' '.ucwords(strtolower($row['nachname'])).'';
    22.                     if($row['art'] == 1){
    23.                     echo '&nbsp;<b>(M)</b>';
    24.                     }
    25.                     if($row['art'] == 2){
    26.                     echo '&nbsp;<b>(N)</b>';
    27.                     }
    28.                     echo '</td>';
    29.                     echo '<td></td>
    30.                    <td align="center">'.$row['motto'].'</td><td align="center">'.$row['punkt'].'</td></tr>'."\n".'';
    31.                     $i++;
    32.                     }
    33.                     echo '</table>'."\n".'';
     
    #3      
  4. kleeaar

    kleeaar zwo-eins-risiko!

    1
    Dabei seit:
    26.03.2008
    Beiträge:
    2.766
    Geschlecht:
    männlich
    Kameratyp:
    Samsung GX 1L
    Rangliste
    AW: Rangliste

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

    Grüße
     
    #4      
  5. redbull2906

    redbull2906 Nicht mehr ganz neu hier

    Dabei seit:
    10.09.2007
    Beiträge:
    170
    Geschlecht:
    männlich
    Software:
    Photoshop, Dreamweaver, Illustrator
    Kameratyp:
    Nikon D60 & Nikon D7000
    Rangliste
    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
     
    #5      
  6. FreddyX2

    FreddyX2 Aktives Mitglied

    Dabei seit:
    11.04.2009
    Beiträge:
    701
    Geschlecht:
    männlich
    Rangliste
    AW: Rangliste

    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.
     
    #6      
  7. redbull2906

    redbull2906 Nicht mehr ganz neu hier

    Dabei seit:
    10.09.2007
    Beiträge:
    170
    Geschlecht:
    männlich
    Software:
    Photoshop, Dreamweaver, Illustrator
    Kameratyp:
    Nikon D60 & Nikon D7000
    Rangliste
    AW: Rangliste

    Jo, des leuchtet mir ein - aber wie könnte ich denn den alten Platz speichern? mit in die DB eintragen?
     
    #7      
  8. kleeaar

    kleeaar zwo-eins-risiko!

    1
    Dabei seit:
    26.03.2008
    Beiträge:
    2.766
    Geschlecht:
    männlich
    Kameratyp:
    Samsung GX 1L
    Rangliste
    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
     
    #8      
  9. redbull2906

    redbull2906 Nicht mehr ganz neu hier

    Dabei seit:
    10.09.2007
    Beiträge:
    170
    Geschlecht:
    männlich
    Software:
    Photoshop, Dreamweaver, Illustrator
    Kameratyp:
    Nikon D60 & Nikon D7000
    Rangliste
    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?
     
    #9      
  10. kleeaar

    kleeaar zwo-eins-risiko!

    1
    Dabei seit:
    26.03.2008
    Beiträge:
    2.766
    Geschlecht:
    männlich
    Kameratyp:
    Samsung GX 1L
    Rangliste
    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
     
    #10      
x
×
×