Ankündigung

Einklappen
Keine Ankündigung bisher.

Zählen Summe und Rang ermitteln

Einklappen

Neue Werbung 2019

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

  • mleo08179
    hat ein Thema erstellt Zählen Summe und Rang ermitteln.

    Zählen Summe und Rang ermitteln

    Hallo Leute,


    wie bekomme ich das denn hin damit er mir den Rang ( Tabellen Platz richtig anzeigt?

    moment zählt er alle punkte korrekt zusammen und reiht sie auch richtig nur der rang passt nicht.



    tttttttt.PNG


    PHP-Code:
      $query "SELECT  SUM(punkte) AS summe ,name , rang  FROM tabelle GROUP BY name ORDER BY punkte desc";




    $result mysqli_query($mysqli$query)
           or die (
    "MySQL-Error: " mysqli_error($mysqli));

        if (
    mysqli_num_rows($result))
        {
            
    $i 0;

            while (
    $row mysqli_fetch_assoc($result))
            {
               
    $style = ($i++ % 2) ? "class='light'" "class='red'";

               echo 
    "<tr>
              <td 
    $style>" htmlentities($row['rang'], ENT_QUOTES"UTF-8")   . "</td>
                      <td 
    $style>" htmlentities($row['name'], ENT_QUOTES"UTF-8") . "</td>
                      <td 
    $style>" htmlentities($row['summe'], ENT_QUOTES"UTF-8")   . "</td>


                    </tr>"
    ;

            }
        }
        else
          echo 
    "<tr>
                 <td colspan='5'>Keine Einträge in der Datenbank vorhanden
                </tr>\n"
    ;
    ?>
       </table>
      </body>
    </html> 

    Liebe Grüße
    Angehängte Dateien

  • mleo08179
    antwortet
    juhuu danke dir

    Einen Kommentar schreiben:


  • hausl
    antwortet
    Ja:

    Zitat von hellbringer Beitrag anzeigen
    Dann füge sie doch hinzu. Zählervariable und geht schon.
    .da brauch ich ja Jahre um das zu lernen

    Die Tabelle muss ich heute noch fertig mache
    Ich schieb das mal in die Scriptbörse, ev. erbarmt sich ja jemand für dich.

    MOD: Verschoben von Datenbanken

    Einen Kommentar schreiben:


  • mleo08179
    antwortet
    hmm ok für mich alles Neuland...da brauch ich ja Jahre um das zu lernen

    Die Tabelle muss ich heute noch fertig machen

    gibt es nichts einfacheres um einfach den tabellenplatz dorthin zu machen.Der sich pro Eintrag ergänzt?

    1.
    2.
    3.
    4.
    5.

    Einen Kommentar schreiben:


  • hellbringer
    antwortet
    Statt blind herumprobieren solltest du systematisch vorgehen. Zum Beispiel deinen HTML-Code validieren, dann würdest du recht schnell sehen, dass du kaputten HTML-Code generierst.

    https://validator.w3.org/

    Einen Kommentar schreiben:


  • hausl
    antwortet
    Puh.. ich rate dir mal das E-V-A-Prinzip anzusehen. CSS und auch der DB Connect haben inmitten der HTML-Ausgabe (der letzte Schritt, also das A bei EVA) HTML ist ja nur der letzte Schritt, also die Ausgabe von PHP. https://php-de.github.io/jumpto/eva-prinzip/

    Schau dir das ev. vorher mal an. Da weiß man ja sonst gar nicht wo man anfangen soll und Grundlagen muss du selbst lernen, dafür ist dieses Forum nicht gedacht.

    Einen Kommentar schreiben:


  • mleo08179
    antwortet
    hab schon alles probiert auch wenn ich es ganz nach oben gebe zeigt er mir keinen platzhalter an.

    Einen Kommentar schreiben:


  • hausl
    antwortet
    Du schreibst CSS inmitten von PHP. Warum? o.O

    Einen Kommentar schreiben:


  • mleo08179
    antwortet
    schaffe es nicht mal so haha.

    ich gebs auf.

    danke trotzdem.

    PHP-Code:
    <!DOCTYPE html>
    <html lang="de">
      <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Anmeldung</title>
        <link rel="stylesheet" type="text/css" href="style_cgc_tabelle.css" />
      </head>
      <body>








    <?php
        $mysqli 
    mysqli_connect('localhost''''''');

        if (
    mysqli_connect_errno())
          die (
    "Connect failed: " mysqli_connect_error());

        
    mysqli_set_charset($mysqli"utf8");


    <
    style>
    div.platzhalter {
     
    counter-resetplatz;
    }

    div.platzhalter p {
     
    counter-incrementplatz;
    }

    div.platzhalter p::before {
     
    contentcounter(platz". ";
     
    colorBlue;
    }
    </
    style>







      
    $query "SELECT  SUM(punkte) AS summe, name  FROM tabelle GROUP BY name ORDER BY SUM(punkte) desc";




    $result mysqli_query($mysqli$query)
           or die (
    "MySQL-Error: " mysqli_error($mysqli));

        if (
    mysqli_num_rows($result))
        {
            
    $i 0;

            while (
    $row mysqli_fetch_assoc($result))



            {
               
    $style = ($i++ % 2) ? "class='light'" "class='red'";





               echo 
    "<tr>

              <td <div class="
    platzhalter"></div> </td>
              <td 
    $style>" htmlentities($row['rang'], ENT_QUOTES"UTF-8")   . "
                      <td 
    $style>" htmlentities($row['name'], ENT_QUOTES"UTF-8") . "</td>
                      <td 
    $style>" htmlentities($row['summe'], ENT_QUOTES"UTF-8")   . "</td>

                    </tr>"
    ;




            }
        }
        else
          echo 
    "<tr>
                 <td colspan='5'>Keine Einträge in der Datenbank vorhanden
                </tr>\n"
    ;
    ?>
       </table>
      </body>
    </html>

    Einen Kommentar schreiben:


  • hausl
    antwortet
    Siehe zB oben die Beiträge zu RANK() oder der von VPh, etc.. Oder du programmierst das in der Schleife in PHP selbst mit, ist jetzt auch nicht soo schwer.

    Einen Kommentar schreiben:


  • mleo08179
    antwortet
    Ja das würde gehen aber wenn zwei Spieler die gleichen Punkte haben würden Sie beide zbs Platz 1 einnehmen.

    lg

    Einen Kommentar schreiben:


  • protestix
    antwortet
    Da es Darstellung ist, geht das natürlich auch bequem über CSS wenn man mag.
    https://www.mediaevent.de/css/counte...ter-reset.html

    Einen Kommentar schreiben:


  • hellbringer
    antwortet
    Zitat von mleo08179 Beitrag anzeigen
    Ja aber dann fehlen links die Nummern für die Plätze...
    Dann füge sie doch hinzu. Zählervariable und geht schon.

    Einen Kommentar schreiben:


  • mleo08179
    antwortet
    Zitat von lstegelitz Beitrag anzeigen
    "rang" fliegt raus, weil nicht in der Aggregation (und ausserdem dynamisch berechnet). Der "Trick" ist natürlich, nach der SUMME der Punkte zu sortieren.
    Code:
    SELECT SUM(punkte) AS summe, name FROM tabelle GROUP BY name ORDER BY SUM(punkte) desc
    Hallo Istegelitz,

    Ja aber dann fehlen links die Nummern für die Plätze...


    ist jetzt nicht tragisch aber wenn da über 100 Leute in der tabelle sind würde ich gerne sofort sehen auf welchem Platz ich mich befinde.

    Einen Kommentar schreiben:


  • mleo08179
    antwortet
    Okay erstmal danke jungs...

    also brauch ich gar keine Spalte (rang,rank,ranking etc ) in der Datenbank tabelle anlegen?

    bin glaub zu dumm haha.


    Einen Kommentar schreiben:

Lädt...
X