Auflistung zählen

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

  • Auflistung zählen

    Hallo zusammen,

    ich habe mal eine kleine Anfänger frage und zwar habe ich hier eine kleine SQL-Abfrage gemacht die mir alle Daten des Selects in eine Tabelle schreibt.
    PHP-Code:
       <?

         $query_test2 = "SELECT team.TName, punkte.Punkte FROM test.tbl_punkte punkte, test.tbl_teams team, test.tbl_rubrik rubrik WHERE punkte.TID=team.TID AND rubrik.RID=team.RID AND team.RID=1 ORDER BY Punkte DESC";

         $erg_test2 = mysql_query($query_test2, $dbh);
         echo "<table cellspacing='0' cellpadding='0'>";
         echo "<tr><td>Rank:</td><td>Team:</td><td>Punkte:</td></tr>";

         while ($p = mysql_fetch_assoc($erg_test2))
          {
            echo "<tr>";
            echo "<td></td>";  //---- Da soll gezählt werden ^^
            foreach ($p as $var)
            {
              echo "<td>$var</td>";
            }
          }
          echo "</table>";
       ?>
      </body>
    Nun möchte ich gerne das ich angezeigt bekomme welche nummer welcher Datensatz ist. Sprich er geht in die Schleife...setzt die Zahl 1 (automatisch) ein schreibt die Daten zu ende, dann springt er ja zum nächsten Datensazt und dann soll er eine 2 Schreiben, also Hochzählen ist das möglich?

    Hoffe mal ich habe nicht zu viel wirrwar geschrieben ^^''

    Gruß prophet`

  • #2
    mach vor der while-schleife
    PHP-Code:
    $i=1
    mit
    PHP-Code:
    echo '<td>'.($i++).'</td>'
    sollte es dann hinhauen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Vielen Dank für die schnelle antwort, hat auch sofort geklappt

      Gruß proph`

      Kommentar


      • #4
        ich würde dieses gerne erweitern kann mir aber nicht genau vorstellen wie ich das umsetzten kann und zwar möchte ich das die ersten drei unterschiedlich groß sind. zwischen der zahl 3 und 4 soll dann ein absatz sein und ab dort wieder ganz weiter.

        ist das möglich? O.o

        gruß proph`

        Kommentar


        • #5
          Setz doch einfach in deinen Ablauf eine if Abfrage ein.

          Wenn $i <= 3 ist soll er die Zeilen gross ausgeben, sonst klein.

          Und bei $i == 4 nen Absatz.

          Kommentar


          • #6
            Danke für den Hinweis nur "wo" setzte ich die if`s genau ein und wie?

            Kommentar


            • #7
              PHP-Code:
              <?

                   while ($p = mysql_fetch_assoc($erg_test2))
                    {
                      switch($i)
                      {
                       case "1":
                       ...Ausgabeformat 1....
                       break;
                       case "2":
                       ...Ausgabeformat 2....
                       break;
                       case "3":
                       ...Ausgabeformat 3....+ Absatz
                       break;
                       default:
                       ...Normales Ausgabeformat....
                       break;
                       }
                    }
                    echo "</table>";
                 ?>
              So z.B.

              Kommentar


              • #8
                sorry aber mit dem case switch klappt es nicht so ganz :/ :[

                Kommentar


                • #9
                  Was klappt denn da nicht so ganz?

                  Poste mal bitte deinen Code

                  Kommentar


                  • #10
                    PHP-Code:
                    while ($p mysql_fetch_assoc($erg_test2))
                              {
                                switch(
                    $i)
                                  {
                                  case 
                    "1":
                                  echo 
                    "<tr><td><img src='pokalgold.gif></td><td>".$test[0]["TName"]."</td><td>".$test[0]["punkte"]."</td></tr>";
                                  break;
                                  case 
                    "2":
                                  echo 
                    " ";
                                  break;
                                  case 
                    "3":
                                  echo 
                    " ";
                                  break;
                                  default:
                                  echo 
                    " ";
                                  break;
                                  }
                              } 
                    Ich denke eher ich habe da was falsch gemacht o.O

                    Kommentar


                    • #11
                      Ähm, ja also, wo zählst du denn die Variable $i hoch??

                      Kommentar


                      • #12
                        direkt darüber

                        PHP-Code:
                                  $i=0;
                                  while (
                        $l mysql_fetch_assoc($erg_test))
                                  {
                                   
                        $test[$i] = $l;
                                   
                        $i++;
                                  } 

                        Kommentar


                        • #13
                          PHP-Code:
                          <?

                               $query_test2 = "SELECT team.TName, punkte.Punkte FROM test.tbl_punkte punkte, test.tbl_teams team, test.tbl_rubrik rubrik WHERE punkte.TID=team.TID AND rubrik.RID=team.RID AND team.RID=1 ORDER BY Punkte DESC";

                               $erg_test2 = mysql_query($query_test2, $dbh);
                               echo "<table cellspacing='0' cellpadding='0'>";
                               echo "<tr><td>Rank:</td><td>Team:</td><td>Punkte:</td></tr>";
                               $i = 1;
                               while ($p = mysql_fetch_assoc($erg_test2))
                                {
                                 switch($i)
                                               {
                                                case "1":
                                                echo "Hier Zeile 1 ";
                                                break;
                                                case "2":
                                                echo "Hier Zeile 2 ";
                                                break;
                                                case "3":
                                                echo "Hier Zeile 3 ";
                                                echo "<br>\n";
                                                break;
                                                default:
                                                echo "Hier Standartausgabe";
                                                break;
                                               }
                                $i++;
                                }
                                echo "</table>";
                             ?>
                          So sollte es aussehen..

                          EDIT:
                          Sorry, da war noch nen Bug drin, nun sollte es stimmen
                          Zuletzt geändert von Schnoop; 08.03.2004, 13:08.

                          Kommentar


                          • #14
                            mhhhh "Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource"? O.o er verweisst auf den anfang der while schleife.

                            EDIT:
                            Jaaa sorry hab dein edit zu spät gesehen ^^'''

                            Kommentar


                            • #15
                              Da wird wohl in der Abfrage nen Bug sein.

                              Die Fehlermeldung sagt aus das dein Query aus der DB leer ist

                              Kommentar

                              Lädt...
                              X