Ergebnis 1 bis 2 von 2

Thema: Anzeige des Rallystandes wenn User nicht in den TOP10 ist

  1. #1

    Anzeige des Rallystandes wenn User nicht in den TOP10 ist

    Hallo,

    ich hätte da gerne mal ein Problem... Ich habe u.a. das slotoftheweek-Addon von STG, aber im Prinzip sind meine anderen Rallys (Aktivrally, Klickrally usw.) ähnlich.

    So ist es gerade: Während der Rally werden auf der Rallyseite in einer Tabelle die 10 besten User angezeigt. Wenn man da mit drin steht, sieht man seinen Platz, die AP/Klicks/Whatever und den möglichen Verdienst.
    Wenn man nicht drin steht, sieht man nichts. Ich habe jetzt als Workaround die Anzeige der eigenen Punkte über die Tabelle eingebunden.

    Ich hätte es aber gerne so, dass der eigene Rang (sofern man nicht in den Top 10 ist) unter der Tabelle angezeigt wird, wenn man jedoch ein Teil der Top10 ist, dann eben nicht. (im Prinzip also ähnlich wie die Klamm-Ladder). Leider bekomme ich das irgendwie nicht hin...

    Hier mal der Code der While-Schleife die die Tabelle füllt
    Code:
    <?$platz = db_query ('SELECT k.punkte,k.uid,u.nickname FROM stg_slotofweek k LEFT JOIN '.$db_prefix.'_userdaten u ON u.uid = k.uid ORDER BY punkte DESC LIMIT 10');while ($pa = mysql_fetch_array($platz)) {
        $row = ($rp % 2 == 0) ? 0 : 1;
        $mg = ($ralleydaten['art'] == 'statisch') ? number_format($ralleydaten['p'.$rp], 2, ',', '.').' ': number_format(($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp]), 2, ',', '.');
        if ($rp > $ralleydaten['plaetze']) $mg = '---';
        if ($pa['nickname'] == $kontoinfo['nickname']) {echo'<tr class="danger">'; } else {echo '<tr>';}
        echo'
            <td>'.$rp++.'</td>
            <td><a href="/?content=/nickpage&nick='.$pa['nickname'].'">'.$pa['nickname'].'</a></td>
            <td>'.number_format($pa['punkte'], 0).'</td>
            <td>'.$mg.'</td>
        </tr>';
    }
    Ich habe jetzt probiert sowas dahinter zu schreiben:
    Code:
    if ($pa['nickname'] != $kontoinfo['nickname']) {
        echo'<tr class="danger">
            <td>-</td>
            <td><a href="/?content=/nickpage&nick='.$kontoinfo['nickname'].'">'.$kontoinfo['nickname'].'</a></td>
            <td>'.number_format($yourstats['punkte'], 0).'</td>
            <td>---</td>
            </tr>
        ';
    }
    Was auch in sofern funktioniert, als das der eigene Platz unter der Tabelle angezeigt wird, wenn man nicht Teil der Top10 ist.
    Wenn man jedoch genug Punkte hat und in den Top10 steht, wird man "dank" dem 2. Code sowohl in den Top10 (richtig), als auch darunter angezeigt (falsch) und ich hab gerade nen Knoten drin und versteh nicht wieso....
    Eigentlich sollte beim 2. Code dann doch einfach nichts passieren oder?

    Ich hoffe ihr habt verstanden was ich meine und könnt mir bei der Umsetzung helfen.

    Gruß,
    MrChicken
    Meine Seite: www.klicklos.de

  2. #2
    Erfahrener Benutzer Avatar von Hardy
    Registriert seit
    24.01.2007
    Beiträge
    2.235

    AW: Anzeige des Rallystandes wenn User nicht in den TOP10 ist

    das kann so auch schlecht funktionieren da du den 2teil auserhalb der schleife hantierst.
    am besten definierst du eine neue boolsche wert,setzt diese auf true wenn der nick in den TOP 10 ist und wenn nicht gibts du halt dein zweiteren teil aus. also im Prinzip sieht das ganze dann so aus:

    PHP-Code:
    $platz db_query ('SELECT k.punkte,k.uid,u.nickname FROM stg_slotofweek k LEFT JOIN '.$db_prefix.'_userdaten u
    ON u.uid = k.uid ORDER BY punkte DESC LIMIT 10'
    );
    while (
    $pa mysql_fetch_array($platz)) {
    $row = ($rp == 0) ? 1;
    $mg = ($ralleydaten['art'] == 'statisch') ? number_format($ralleydaten['p'.$rp], 2',''.').' 'number_format(($ralleydaten['jackpot'] / 100 $ralleydaten['p'.$rp]), 2',''.');
    if (
    $rp $ralleydaten['plaetze']) $mg '---';
    if (
    $pa['nickname'] == $kontoinfo['nickname']) {echo'
    <tr class="danger">
        '
    ;
        
    $user_in_row true// Das ist neu; Hardy
      
    } else {echo '
    <tr>
        '
    ;}
        echo
    ' <td>'.$rp++.'</td>
        <td><a href="/?content=/nickpage&nick='
    .$pa['nickname'].'">'.$pa['nickname'].'</a></td>
        <td>'
    .number_format($pa['punkte'], 0).'</td>
        <td>'
    .$mg.'</td>
    </tr>
    '
    ;

    und der zweite teil so

    PHP-Code:
    if ($user_in_row == false) {     // Das ist neu; Hardy
    echo'
    <tr class="danger">
        <td>-</td>
        <td><a href="/?content=/nickpage&nick='
    .$kontoinfo['nickname'].'">'.$kontoinfo['nickname'].'</a></td>
        <td>'
    .number_format($yourstats['punkte'], 0).'</td>
        <td>---</td>
    </tr>
    '
    ; } 
    Geändert von Hardy (08.02.2014 um 20:41 Uhr)
    Ich nutze den Firefox nur um Opera Google Chrome runterzuladen

Ähnliche Themen

  1. Wer ist online seheni wenn man nicht geloggt ist
    Von mctim im Forum Support zum VMSone
    Antworten: 5
    Letzter Beitrag: 21.08.2014, 09:14
  2. Wie bestimmten Bereich ausblenden wenn User angemeldet sind?
    Von Rallef im Forum Weiterentwicklung Basisscript
    Antworten: 22
    Letzter Beitrag: 12.01.2014, 17:35
  3. Wenn online Bild1 wenn nicht Bild2 Hilfe
    Von ebook24 im Forum Support zum VMSone
    Antworten: 14
    Letzter Beitrag: 08.07.2009, 18:42
  4. Antworten: 3
    Letzter Beitrag: 12.03.2008, 10:37
  5. Rally-Anzeige für nicht eingeloggte User
    Von Freesnooze im Forum Support zum VMSone
    Antworten: 4
    Letzter Beitrag: 28.02.2008, 16:22

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •