Re: Bundesliga Tippspiel; Auswertung funktioniert nicht - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Ulf (144 Beiträge) am Mittwoch, 28.September.2005, 18:14.
    Re: Bundesliga Tippspiel; Auswertung funktioniert nicht

      weiß ich auch nicht so richtig,
      vieleicht hilft

      User==!$User

      muß irgendwas mit doppelter Genaigkeit zu tun haben ???

      bloß mal zum Probieren - Ulf


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Max (102 Beiträge) am Mittwoch, 28.September.2005, 14:54.
    Bundesliga Tippspiel; Auswertung funktioniert nicht

      Hallo, ich bin dabei ein Tippspiel für die Bundesliga zu machen.
      Wenn ein Ergebnis genau übereinstimmt gibt's 3 Punkte, wenn man die Tordifferenz richtig Tippt gibt's 2 Punkte, wenn Sieg oder Niederlage richtig getippt wurden gibt's 1 Punkt. Alles andere sind 0 Punkte.
      Demnach hab ich nun eine Tabelle gemacht, in der alle getippten Ergebnisse stehen ($HeimErg1 - $HeimErg9 und $GastErg1-9, da's ja immer neun Spiele pro Spieltag sind). Zusätzlich werden die Punkte und der Benutzername abgespeichert.
      Die aktuellen Ergebnisse ($heimErg1-9, $gastErg1-9) und der Spieltag werden mittels Post(Formular) übergeben.

      Nun hab ich sowas gemacht:

      get "Spieltag==$spieltag sort=User", "Tip";
      while(get_next("Tip"))
      {
      $punkt=0;
      $h1=$HeimErg1;
      $g1=$GastErg1;
      $g2=$GastErg2;
      
      ...usw

      if ($heimErg1 == $h1 && $gastErg1 == $g1)
      {
      $punkt=$punkt+3;
      }
      if (($heimErg1-$gastErg1) == ($h1-$g1))
      {
      $punkt=$punkt+2;
      }
      if ((($heimErg1 > $gastErg1) && ($h1 > $g1)) || (($heimErg1 < $gastErg1) && ($h1 < $g1)))
      {
      $punkt=$punkt+1;
      }
      if ($heimErg2 == $h2 && $gastErg2 == $g2)
      
      ...usw

      mod "User==$User && Spieltag==$spieltag", ["Punkte", $punkt], "Tip";
      }
      

      Alle Ergebnisse hab ich mal in Variablen getan, da ich dachte es liegt an dem.
      Wenn ich das nun ausführe, dauerts ewig, und irgendwann sagt der Browser "Connection failed".
      Wenn ich dann in die Datenbank schaue, hat die Funktion nur einen Datensatz bearbeitet, und die Größe der Datenbank steigt um das x-fache, obwohl sie im Moment nur drei Datensätze enthält, und die korrekte Punktzahl eingetragen wurde.
      Kann mir da jemand weiter helfen?

     Antworten

    Beitrag von Ulf (144 Beiträge) am Mittwoch, 28.September.2005, 18:14.
    Re: Bundesliga Tippspiel; Auswertung funktioniert nicht

      weiß ich auch nicht so richtig,
      vieleicht hilft

      User==!$User

      muß irgendwas mit doppelter Genaigkeit zu tun haben ???

      bloß mal zum Probieren - Ulf

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Mittwoch, 28.September.2005, 18:15.
    Re: Bundesliga Tippspiel; Auswertung funktioniert nicht

       get "Spieltag==$spieltag", "Tip","hashname"; 
      while(get_next("hashname"))
      {
      
      ...

      sort scheint nicht benötigt zu sein, lass es weg, spart viel zeit.
      da du innerhalb der while(get_next schleife ein mod an der selben db stehen hast gib's nen problem gebe dafür bei dem ersten get einen hashnamen an mit dem du die schleife bedienst.
      Datenbankaufbau ist mir jedoch nicht so ganz klar geworden?

     Antworten

    Beitrag von Max (102 Beiträge) am Donnerstag, 29.September.2005, 08:22.
    Re: Bundesliga Tippspiel; Auswertung funktioniert nicht

      Ich habs probiert. Jetzt kommt wenigstens die Meldung vom Browser nicht mehr, aber es wird immer nur noch der erste Datensatz bearbeitet. Ich denke auch, dass es an dem mod liegt. Wenn's so nicht geht, muss ich halt ne zweite Tabelle machen. Das wär aber nur ne notlösung, da ich alle Daten gern beieinander hätte.
      Zur Datenbank :
      Ich habe die Felder:

      User
      Punkte
      HeimErg1
      GastErg1
      HeimErg2
      GastErg2
      HeimErg3
      GastErg3
      HeimErg4
      GastErg4
      HeimErg5
      GastErg5
      HeimErg6
      GastErg6
      HeimErg7
      GastErg7
      HeimErg8
      GastErg8
      HeimErg9
      GastErg9

      Die richtigen Daten werden mittels Post übergeben, aber im Moment noch nicht in der DB gespeichert.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 29.September.2005, 08:49.
    Re: Bundesliga Tippspiel; Auswertung funktioniert nicht

      Hallo Max,

      will mich da nicht groß einklinken, aber warum prüfst Du Sieg und Niederlage( was ist bei Unentschieden!!??) eigentlich so umständlich durch Berechnung:

      if ((($heimErg1 > $gastErg1) && ($h1 > $g1)) || (($heimErg1 < $gastErg1) && ($h1 < $g1)))
      {
      $punkt=$punkt+1;
      }
      

      Warum nicht einfach ein Feld "Ergebnisart" mit 1 0 2 (Heimsieg Unentschieden Auswärtssieg) Wie beim Toto;-)

      Gruß

      Claus

     Antworten

    Beitrag von Max (102 Beiträge) am Donnerstag, 29.September.2005, 09:25.
    Re: Bundesliga Tippspiel; Auswertung funktioniert nicht

      Wie im ersten Beitrag beschrieben:
      Das Tippspiel läuft wie folgt ab:
      Ich Tippe alle Bundesliga-Ergebnisse. Diese werden in den Felder HeimErg1-9 und GastErg1-9 gespeichert.
      Ist der Spieltag vorbei, gebe ich die richtigen Ergebnisse in meinem Formular ein, und schick sie an die Funktion (die immer noch nicht Funktioniert).
      Für ein richtig getipptes Ergebnis gibt es 3 Punkte, für das Tippen auf die richtige Tordifferenz gibt's 2 Punkte (hier fallen alle Unentschieden drunter, ausser es wurde richtig getippt) und wenn man nur Sieg oder Niederlage richtig tippt, gibt's 1 Punkt. Deswegen die Abfragen.

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 29.September.2005, 12:19.
    Re: Bundesliga Tippspiel; Auswertung funktioniert nicht

      Schleifen sind Dein Freund ;-) Wann immer sich irgendetwas in ähnlicher Weise wiederholt, ist das was für eine Schleife. Hier konkret (und n bisschen gekürzt):

      get "Spieltag==$spieltag", "Tip", "tip";
      while(get_next("tip"))
      {
        $punkte=0;
        for(my $i=1; $i<10; $i++)
        {
          $H=${"HeimErg$i"}; $G=${"GastErg$i"};
          $h=${"heimErg$i"}; $g=${"gastErg$i"};
      
          $punkte+=3 if $h==$H && $g==$G;     $punkte+=2 if $h-$g==$H-$G;     $punkte+=1 if $h>$g && $H>$G || $h<$g && $H<$G;   }   mod "User==$User && Spieltag==$spieltag", ["Punkte", $punkte], "Tip";
      }


      Das sollte als Code reichen ;-) Wenn das nicht so klappt, wie Du willst, musst Du mal ein paar Testausgaben einbauen, also nach dem

      $h=${"heimErg$i"}; $g=${"gastErg$i"};
      

      z.b. ein:

      out "i=$i, H=$H, G=$G, h=$h, $g=$g<br>";
      

      oder vor dem "mod" ein:

      out "User=$User, Spieltag=$spieltag, punkte=$punkte<br>";
      

      ,-)

     Antworten

    Beitrag von Max (102 Beiträge) am Donnerstag, 29.September.2005, 13:55.
    Re: Bundesliga Tippspiel; Auswertung funktioniert nicht

      Der pure Wahnsinn! Jetzt haut's so hin, wie's soll. Vielen Dank.

      Das mit dem
      get "Spieltag==$spieltag", "Tip", "tip";
      
      muss man halt Wissen, sonst hat man keine Chance.

      Allerdings

      mod "User==$User && Spieltag==$spieltag", ["Punkte", $punkte], "Tip";
      

      muss abgeändert werden in

      mod "User==$User & Spieltag==$spieltag", ["Punkte", $punkte], "Tip";
      

      Sonst gibt's ne Fehlermeldung.

      Nochmal Danke.

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 29.September.2005, 14:23.
    Re: Bundesliga Tippspiel; Auswertung funktioniert nicht

      > ...muss abgeändert werden in
      > 
      > mod "User==$User & Spieltag==$spieltag", ["Punkte", $punkte], "Tip";
      > 
      > Sonst gibt's ne Fehlermeldung.
      

      Äh, ja, peinlich dass das keiner gleich gesehen hat ;-)

     Antworten


     
 Liste der Einträge von 22201 bis 22351:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.04s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!