Code Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Code Problem

    Also ich steh momentan vor nem Problem und komm da einfach nicht
    weiter. Ich habe Tabelle mit Punkteständen. Die letzte Spalte zeigt den
    Rang an, der von der Gesamtpunkteanzahl abhängig ist. Biss dahin klappt
    ja alles, aber was muss ich eingeben, wenn der Rang von der
    Gesamtpunkteanzahl UND Rundenanzahl abhängig sein soll? Ich stell
    einmal den PHP Code hier rein in der hoffnung das mir da wer behilflich
    sein kann.
    PHP-Code:
    <?php 

    $sql 
    "SELECT user, ergebnis_a, ergebnis_b, ergebnis_c, ergebnis_d,
    runden FROM userdaten ORDER BY (ergebnis_a + ergebnis_b + ergebnis_c
    + ergebnis_c) DESC"


    $spieler_query mysql_query($sql) or die("Anfrage nicht erfolgreich"); 

    while (
    $spieler mysql_fetch_array($spieler_query)){ 

    $gesamt $spieler['ergebnis_a'] + $spieler['ergebnis_b'] + 
    $spieler['ergebnis_c'] + $spieler['ergebnis_d']; 

    if(
    $gesamt<1000$rang="Anfänger"
    else if(
    $gesamt>1000 AND $gesamt<2000$rang="fortgeschritten"
    else if(
    $gesamt>2000 AND $gesamt<3000$rang="mittelklasse Spieler"
    else if(
    $gesamt>3000 AND $gesamt<4500$rang="Spieler As"
    else if(
    $gesamt>4500$rang="Top Spieler"

    ?>
    Zuletzt geändert von Marcus24; 30.05.2005, 10:09.

  • #2
    Hallo und Wilkommen im Forum.

    als erstes: man mag es nicht horizantal zu scrollen. Deshalb, Forumregeln lesen (siehe meine signatur).

    zweitens:
    eigentlich haste deine Frage schon selber beantwortet.

    "... der Rang von der Gesamtpunkteanzahl UND Rundenanzahl abhängig ..."

    PHP-Code:
    if($gesamt<1000 && $rundenanzahl == 1$rang="Anfänger"
    else if((
    $gesamt>1000 AND $gesamt<2000) && $rundenanzahl == 2$rang="fortgeschritten"
    ..
    ?> 

    Forumregeln!

    Gute PHP-(tutorial-)Seiten

    Kommentar


    • #3
      Hy,

      Ich hab meinen Text gleich geändert

      Und danke für die schnelle Antwort, aber deine Lösung funktioniert leider
      nicht. Hab ich schon davor so probiert zu lösen. Er zeigt den jeweiligen Rang trotzdem an, auch wenn man noch nicht so viel Runden gespielt hat :/

      Kommentar


      • #4
        versuch es mal so

        else if($gesamt>1000 AND $gesamt<2000 AND $rundenanzahl == 2) $rang="fortgeschritten";
        Zuletzt geändert von Arni; 30.05.2005, 10:51.
        Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

        Kommentar


        • #5
          Nein, es funktioniert beides nicht. Egal ob ich [COLOR=blue]&&[/COLOR] oder [COLOR=blue]AND[/COLOR] eingebe.

          Kommentar


          • #6
            Na dann debug doch mal deine Werte.

            Was für Werte stehen denn in $gesamt und $rundenzahl drin?

            Kommentar


            • #7
              Original geschrieben von Marcus24
              Nein, es funktioniert beides nicht. Egal ob ich [COLOR=blue]&&[/COLOR] oder [COLOR=blue]AND[/COLOR] eingebe.
              Hast Du es denn auch genau so gemacht wie ich es geschrieben hatte ??

              Wie Du siehst fehlt da eine Klammer !!
              Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

              Kommentar


              • #8
                Also nach diesem Schema:
                PHP-Code:
                else if($gesamt>3000 AND $gesamt<4500 AND $rundenzahl==2$rang="Spieler As"
                funktioniert es definitiv,... Aber hast du denn auch $rundenzahl auch den benötigten Wert zugewiesen? Dazu kommt auch, dass du bei dem "<" und ">" aufpassen musst, bei 2000 Punkten bekommst du z.B. auch keinen Rang zugewiesen.

                Kommentar


                • #9
                  Na klar. Ein kompletter Anfänger bin ich nun auch wieder nicht.
                  Folgendes hab ich probiert:
                  PHP-Code:
                  else if($gesamt>100 AND $gesamt<200 AND $spieler['runden'] == 2$rang="fortgeschritten";

                  So bleibt das Rangfeld leerbei Spielern die über 100 Punkte haben und
                  erst 1 Runde gespielt haben

                  PHP-Code:
                  else if($gesamt>100 AND $gesamt<200 && $spieler['runden'] == 2$rang="fortgeschritten";

                  Das gleich wie oben. (eigentlich logisch

                  @Hoschi:
                  Die Rundenanzahl wird von der Datenbankausgelesen.

                  Kommentar


                  • #10
                    Mein Gott ne,
                    lass Dir doch mal die Variablen anzeigen um zu sehen was da drin steht
                    bevor Du hier rumhäulst.
                    Kann doch sein das da ganz was anderes drinsteht ober aber diese leer sind, schon mal daran gedacht ??

                    Ich würde mal gerne die Werte erfahren die da so drin stehen ..

                    Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                    Kommentar


                    • #11
                      Original geschrieben von Marcus24
                      Na klar. Ein kompletter Anfänger bin ich nun auch wieder nicht.
                      Habe ich auch nicht behauptet, aber wenn du mal als Punktzahl 1000,2000,3000 und 4500 eingibst, dann wirste sehen,
                      dass keine Ausgabe kommen kann...
                      Desweiteren kann ich dir nur sagen, dass
                      PHP-Code:
                      $gesamt=4720;
                      $rundenzahl=1;


                      if(
                      $gesamt<1000$rang="Anfänger";
                      else if(
                      $gesamt>1000 AND $gesamt<2000 AND $rundenzahl==2$rang="fortgeschritten";
                      else if(
                      $gesamt>2000 AND $gesamt<3000 AND $rundenzahl==2$rang="mittelklasse Spieler";
                      else if(
                      $gesamt>3000 AND $gesamt<4500 AND $rundenzahl==2$rang="Spieler As";
                      else if(
                      $gesamt>4500 AND $rundenzahl==2$rang="Top Spieler"
                      funktioniert, also prüfe mal deine DB Werte..
                      EDIT:
                      Schliesse mich also dem Arni an...

                      Kommentar


                      • #12
                        Schliesse mich also dem Arni an...
                        Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                        Kommentar


                        • #13
                          Original geschrieben von Hoschi0815
                          EDIT:
                          Schliesse mich also dem Arni an...
                          auch hierbei:
                          Original geschrieben von Arni
                          ...bevor Du hier rumhäulst.

                          Kommentar


                          • #14
                            ob mit "e" oder "ä", auf den Sinn kams mir an

                            Kommentar


                            • #15
                              Original geschrieben von asp2php
                              auch hierbei:

                              na nun heul mal net rum.

                              das ist halt die neue Rechtschreibung
                              Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                              Kommentar

                              Lädt...
                              X