Problem mit MySQL Ausgabe als Liste

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit MySQL Ausgabe als Liste

    Ich möchte gerne diese Liste nach Spielernnamen sortieren. Nun habe ich aber das Problem, dass ganz oben (wo 0.) ein Spieler steht der da gar nicht hingehört. Ich finde den verdammten Fehler nicht.

    Hier der Code

    PHP-Code:
    <?php
            
    ////////// RECORD /////////
            
            
    $keywords preg_split ("/ over/""martin over test");
            
    $i=0;
            
    $playerlist = array();
            
    $playerlist2 = array();
            
    $result mysql_query("SELECT bet FROM records ORDER BY recordsID ASC");
        while (
    $records mysql_fetch_array($result)) {
                
    $split preg_split("/ over/"$records[bet]);
            if (
    substr_count($records[bet], "over") != 0) {
                    
    $playerlist[$i] = $split[0];
                    
    $i++;
                    
    $playerlist[$i] = $split[1];
            }

        }
        
        
    $playerlist array_unique($playerlist);
        
    sort($playerlist);
        while(list(
    $key$val) = each($playerlist)) {
              
    $playerlist2[$key][0]=$val;
              
    $playerlist2[$key][1]=0;
              
    $playerlist2[$key][2]=0;
              
    $playerlist2[$key][3]=0;
        }
        
                
            
    $result mysql_query("SELECT bet,wl,profit,stake FROM records ORDER BY recordsID ASC");
            while (
    $records mysql_fetch_array($result)) {
                
    $split preg_split("/ over/"$records[bet]);
            if (
    substr_count($records[bet], "over") != 0) {
            
    $key array_search($split[0], $playerlist);
            
    $key2 array_search($split[1], $playerlist);
            if (
    $records[wl] == "W") {
                
    $playerlist2[$key][1]=$playerlist2[$key][1]+1;
                
    $playerlist2[$key2][2]=$playerlist2[$key2][2]+1;
                
                
    $profit substr ($records[profit], 01);
                
    $realprofit substr ($records[profit], 1);
                
                
    $playerlist2[$key][3]=$playerlist2[$key][3] + $realprofit;
                
    $playerlist2[$key2][3]=$playerlist2[$key2][3] - $records[stake];
                
            }
            if (
    $records[wl] == "L") {
                
    $playerlist2[$key][2]=$playerlist2[$key][2]+1;
                
                
    $playerlist2[$key][3]=$playerlist2[$key][3] - $realprofit;
            }
            }
        }
        
    sort($playerlist2);
        while(list(
    $key$val) = each($playerlist2)) {
              echo 
    "$key$val[0] $val[1] - $val[2] $"."$val[3]<br/>";
        }
        
    ?>

    Hier wie es momentan aussieht: http://www.tennis-handicapping.com/players.php

  • #2
    hmhaste deine query in myadmin überprüft???

    Kommentar


    • #3
      Was meinst du genau? Wo muss ich in phpmyadmin schauen?

      Sorry, bin ned grad der hellste in PHP.

      Kommentar


      • #4
        Wähle im phpmyadmin die Tabelle aus, klicke dann auf "SQL" und dort
        kannst du deine queries überprüfen.

        Kommentar


        • #5
          brauchst die tabelle noch nichtmal auszuwählen. das macht die query aleine

          Kommentar


          • #6
            stimmt, aber dann ist sie schon reingeschrieben - eine Fehlerquelle weniger...

            btw: Was genau ist denn falsch an dem Spieler? Nur das als Platz die "0"
            anstatt einer "1" steht, oder ist er total fehl am Platze? (Habe Null Ahnung
            von Tennis...)

            Kommentar


            • #7
              Ja, da liegt aber sicher nicht das Problem. Der Fehler muss im Code liegen.

              Kommentar


              • #8
                stimmt, aber dann ist sie schon reingeschrieben - eine Fehlerquelle weniger...
                Flasch! eine mehr, denn er soll die Query ja per copy und paste da rein setzen und nicht von hand abschreiben!!!

                btw: Was genau ist denn falsch an dem Spieler? Nur das als Platz die "0"
                anstatt einer "1" steht, oder ist er total fehl am Platze? (Habe Null Ahnung
                von Tennis...)
                Aber das Alphabet kannst du?

                Kommentar


                • #9
                  Original geschrieben von Heini81
                  anstatt einer "1" steht, oder ist er total fehl am Platze? (Habe Null Ahnung
                  von Tennis...) [/B]
                  Ja, Spieler 0 gehört da nicht hin, da es alphabetisch sortiert wird.

                  Kommentar


                  • #10
                    Original geschrieben von Heini81
                    btw: Was genau ist denn falsch an dem Spieler? Nur das als Platz die "0" anstatt einer "1" steht, oder ist er total fehl am Platze? (Habe Null Ahnung von Tennis...)
                    die reihenfolge der restlichen über 200 einträge lässt doch wohl zumindest vermuten (*), dass eine alphabetische sortierung gewünscht ist, hm?

                    und um dann zu erkennen, dass "Moya" nicht vor "Abel" stehen sollte, muss man sich nicht mit tennis auskennen - man hätte nur in der grundschule nicht so oft schwänzen sollen ;-)


                    (*) am ende bei den mit "de" und "van" anfangenden nachnamen scheint sie mir aber auch nicht so ganz sauber zu sein.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      anstatt dass du mal auf die wichtigen sachen dieses Threads eingehst...

                      Kommentar


                      • #12
                        OffTopic:
                        Ups, da habe ich ja ganz schön tief in meine Schulbildung blicken
                        lassen


                        Schau dir mal den Quelltext an, da ist vor Moya ein Leerzeichen zu viel...
                        Das könnte die Sortierung wohl beeinflussen...

                        OffTopic:
                        Doch bevor ich mich noch tiefer ins Unglück schreibe, spiele ich wohl
                        erstmal stillen Beobachter...

                        Kommentar


                        • #13
                          du weißt aber was:

                          Code:
                          ORDER BY recordsID ASC
                          macht?

                          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                          sondern mit den Augen das Manual zu lesen.

                          Kommentar


                          • #14
                            Doch bevor ich mich noch tiefer ins Unglück schreibe, spiele ich wohl
                            Na, dein Ansatz ist gar nicht mal so schlecht. Wenn da wirklich ein Leerzeichen in der DB ist. Dann wundert mich auch nicht, warum der Spieler zwei mal drin ist.

                            BTW: Wozu eigentlich zwei Queries und so viele Schleifen?

                            Kommentar


                            • #15
                              Wie heißt der Befehl um, egal ob groß oder klein, zu sortieren?

                              Kommentar

                              Lädt...
                              X