Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Rangliste in einer Tabelle ausgeben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Rangliste in einer Tabelle ausgeben

    Hallo Gemeinde,

    ich brauche mal wieder einen Rat von euch und zwar:

    Ich bastel gerade an eine "Highscore" Tabelle und da soll ganz einfach jeder User mit den jeweiligen Daten in eine Zeile geschrieben werden.

    Ich hänge schon wieder eine Weile dran und komme nicht auf die Lösung, mit ausgeben und was dazu gehört ist kein Problem, nur das es richtig in die Tabele eingefügt wird, da haperts.

    Könntet ihr mir bitte auf die Sprünge helfen ? Hier mal der Code teil dazu:

    PHP-Code:
    <div id="ranglisten_tabelle">
                <table width="100%"> 
                    <tr>
                        <td>
                            Rang:
                        </td>
                        <td>
                            Spieler:    
                        </td>
                        <td>
                            Kontinent:    
                        </td>
                        <td>
                            Ranglistenpunkte:    
                        </td>
                    </tr>
                    <tr>
                            <?php while ($row $result->fetch_object())
                                  {
                                        echo 
    "
                                         <td>
    $row->user </td> 
                                        <td>
    $row->kontinent </td> 
                                        <td>
    $row->ranglistenpunkte </td>
                                        "

                                  }
    ?>
                    </tr>             
                </table>
            </div>


  • #2
    Du musst das <tr> bzw. </tr> mit in die Schleife nehmen.

    Kommentar


    • #3
      eine so präzise fehlerbescheibung;
      ich glaub ja dass es suboptimal ist einmal drei und das andere mal vier spalten in der selben tabelle zu haben.
      //update, ich glaub nicht, mistermint.

      Kommentar


      • #4
        Statt <table width="100%"> bitte <table style="width: 100%"> - also mit zeitgemäßem CSS.

        Ich hänge schon wieder eine Weile dran und komme nicht auf die Lösung
        Ich will dich wirklich nicht angreifen aber das klingt merkwürdig. Möglicherweise solltest du das als Hinweis deuten dich nochmal mit Tabellen in HTML auseinander zu setzen. Es scheint als würde es daran noch hapern und das ist Basiswissen, das man unbedingt mitbringen muss, wenn man mit Tabellen arbeiten möchte (ansonsten passiert so etwas, dass man unnötig Zeit mit der Suche nach Fehlern verbringt, die jemand mit solidem Grundwissen praktisch sofort sieht). Als vielleicht nicht einfach zu verstehende aber inhaltlich hochwertige Quelle schlage ich https://developer.mozilla.org/de/doc.../Element/table vor.

        Kommentar


        • #5
          Zitat von moma Beitrag anzeigen
          eine so präzise fehlerbescheibung;
          ich glaub ja dass es suboptimal ist einmal drei und das andere mal vier spalten in der selben tabelle zu haben.
          //update, ich glaub nicht, mistermint.


          Doch, pro Spieler eine neue Zeile in der Tabelle!

          Und ja, das hab ich übersehen. Der Rang selbst sollte natürlich auch in der Schleife also Spalte auftauchen.

          Kommentar


          • #6
            ok, war mein fehler.
            das kommt davon wenn ein TE kein generiertes html posted.
            danke fürs verbessern.

            Kommentar


            • #7
              Danke für eure Hilfe, habe es schon wie es soll

              PHP-Code:
              <?php while ($row $result->fetch_object())
                                            {
                                                
                                                  echo 
              "
                                                  <tr>
                                                  <td>Rang</td>
                                                   <td>
              $row->user </td> 
                                                  <td>
              $row->kontinent </td> 
                                                  <td>
              $row->ranglistenpunkte </td>
                                                  </tr>
                                                  "
              ;
                                            }
              ?>
              mit dem <tr> in der schleife funktioniert es nun

              Kommentar


              • #8
                Eine kleine Frage hab ich dann doch noch ^^

                Ich will ja, daß die nächste Ausgabe also auf den rang bezogen, dann um 1 steigt, wie ich es momentan habe funktioniert es nicht.

                Auf was muss ich denn da achten ? weil nun zeit mir der browser überall die 2 im Rang, soll ja aber steigen ^^

                PHP-Code:
                <?php while ($row $result->fetch_object())
                                              {
                                                  
                $start 1;
                                                
                                                
                                                echo
                "
                                                    <tr>
                                                    <td>"
                .$i $start++."</td>
                                                     <td>
                $row->user </td> 
                                                    <td>
                $row->kontinent </td> 
                                                    <td>
                $row->ranglistenpunkte </td>
                                                    </tr>
                                                    "
                ;
                                              }
                ?>

                Kommentar


                • #9
                  Erneut: Dir fehlt definitiv Grundlagenwissen, diesmal belasse ich es nicht bei der vorsichtigen Andeutung. Klar können wir dir nun die Lösung sagen aber das hilft dir nicht PHP zu verstehen. Dir scheint nicht klar zu sein was eine while-Schleife tut. Recherchiere es, unbedingt! Auch das ist absolutes PHP-Basiswissen, das gehört zum PHP-Einmaleins, das ist PHP-Grundschule... Du musst nicht gleich zum OOP-Meister avancieren aber wenn du dich entschließt eine while-Schleife zu benutzen dann sollte es doch naheliegen vorher mal nachzulesen wie die überhaupt funktioniert?!

                  Kommentar


                  • #10
                    harte worte ^^ .. ich weiß ja im großen und ganzen wie eine while schleife funktionert... in dem fall läuft sie solange durch, bis alle ergebnisse ausgelesen wurden.
                    logischerweise müsste ich am ende jeder runde dann die zahl um 1 erhöhen, damit ich dann die nächst höhere zahl im rang stehen habe, ich probiere ja auch rum bzw lese ich auch viel, kann ja schon einiges in kurzer zeit (habe zwischendurch auch noch von mysql auf prepare statments mysqli umgestellt ) ansonsten verstehe ich auch schon den ablauf von css und html soweit.. nur manche sachen versteh ich eben noch nicht und das darf ja nach ca. 2 monaten übung noch passieren

                    .. habe auch schon ein komplettes registration und login script mit session geschrieben, auch auf sicherheit geachtet und läuft wunderbar (z.b mit sha256 verschlüsselung + $salt).

                    php lernt man eben nicht in 2-3 monaten und ich lerne es für mich besser, wenn ich es anwende und dadurch verstehe was es tut und wie es gehört.

                    ich bin ja nicht faul und hing auch schon mal tagelang an ein und dem selben problem.. ich beiß mich aber durch und kann sagen, für die kurze zeit kenn ich schon einiges

                    Kommentar


                    • #11
                      Zitat von Ascalon Beitrag anzeigen
                      ich weiß ja im großen und ganzen wie eine while schleife funktionert...
                      PHP-Code:
                      while ($row $result->fetch_object())
                      {
                          
                      $start 1;
                          
                      $i $start++;

                      Und nochmal die "Lupe":
                      PHP-Code:
                      $start 1;
                      $i $start++; 
                      Überleg dir genau was das bewirkt - in einer Schleife.

                      harte worte
                      ...Sollen dich nicht angreifen sondern nur deutlich machen was Sache ist.
                      nur manche sachen versteh ich eben noch nicht und das darf ja nach ca. 2 monaten übung noch passieren
                      Kein Problem! Aber dann bleib auch am Ball. Es geht nicht darum möglichst viel oberflächlich anzureißen. Das ist eine Möglichkeit PHP zu lernen, aber auch eine die zu viel Frust führt. Der Fehler den du gemacht hast ist trivial. Es ist wichtig die Grundlagen sicher zu beherrschen - wichtiger als alles mögliche mal angerissen zu haben aber sich dann einen Wolf bei solchen Fehlern zu suchen. Wie gesagt das soll kein Angriff sein. Ich fühle nur immer den Schmerz mit den andere beim Debugging erleben und will daher ganz eigennützig helfen ihn zu vermeiden.

                      Kommentar


                      • #12
                        PHP-Code:
                        <?php 
                                            
                                            $i 
                        1;
                                            
                                                      while (
                        $row $result->fetch_object())
                                                      {
                                                          
                                                        
                                                        echo
                        "
                                                            <tr>
                                                            <td>"
                        .$i."</td>
                                                             <td>
                        $row->user </td> 
                                                            <td>
                        $row->kontinent </td> 
                                                            <td>
                        $row->ranglistenpunkte </td>
                                                            </tr>
                                                            "
                        ;
                                                        
                        $i++;
                                                      }
                        ?>
                        habs und hab auch verstanden wie es läuft.. lasse ich
                        PHP-Code:
                        $i 
                        in der schleife mit drin, dann wird die variable jede runde gecleart und somit immer wieder nur die 1 in dem fall drin.

                        schönen abend allen noch

                        Kommentar

                        Lädt...
                        X