automatisch fortlaufende nummerierung bei ausgabe von daten???

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

  • automatisch fortlaufende nummerierung bei ausgabe von daten???

    Hi Leute!
    Bin mal wieder auf ein kleines Problem gestoßen ...möchte gern erreichen das eine tabelle automatisch geordnet wird hab ich über den order by desc gemacht..könnte mir auch jemand sagen wie ich das mit anfangsbuchstaben hinbekomme um zb namen zu sortieren? So das ist ein Problem das andere hängt damit zusammen....ich liste die datensätze ja jetzt auf möchte aber eine nummerierung erreichen er soll also automatisch vor den datensatz dann eine andere zahl ausgeben fortlaufen also zb dieser user hat den ersten platz gmahct der dann den zweiten etc!
    Könnte mir da jemand helfen?


    if (!$offset || $offset<0) $offset = 0;
    $diff = 5;
    $r = mysql_query("SELECT count(*) FROM user ");
    $anz = mysql_result($r,0);
    if (!$offset || $offset<0) { $offset = 0; $disabled[prev] = TRUE; }
    if (($offset + $diff) >= $anz) { $diff = $anz - $offset; $disabled[next] = TRUE;}
    $r = mysql_query("SELECT * FROM user order by gesamtpunkte desc LIMIT $offset,$diff ");
    while ($daten = mysql_fetch_array($r)){
    echo "<tr>";
    print("<td width=30 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center></div></td>");
    print("<td width=250 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["efiname"]."</div></td>");
    print("<td width=50 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["gesamttipps"]."</div></td>");
    print("<td width=50 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["qualipunkte"]."</div></td>");
    print("<td width=50 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["rennpunkte"]."</div></td>");
    print("<td width=50 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["gesamtpunkte"]."</div></td>");
    echo "</tr>";

  • #2
    du kannst die aussage "gewichten":

    ORDER BY dbplatz, dbname

    sortiert zuerst nach platz, falls dort gleiche sind, listet er nach den namen

    gruss

    Kommentar


    • #3
      hi

      ok hmm und was ist mit dem schreiben vor den datensatz also 1 dann 2 fotlaufend etc?

      Kommentar


      • #4
        Wenn diese Nummerierung fortlaufend ist, läßt du einfach eine Variable hochzählen

        gruss

        Kommentar


        • #5
          jepp aber das funzte bei mir nicht in diesem kontext das war ja das prob wie machst du das sonst? kannst mal kurz nen zweizeiler schreiben?

          thx

          Kommentar


          • #6
            Vor der Schleife setzen, in der Schleife ausgeben und am Ende inkrementieren?!

            count = 1;

            //schleifenbegin
            echo $count;


            $count++;
            //schleifenende

            meintest du jetzt das ??

            Kommentar


            • #7
              hi!
              das habe ich ja versucht aber es werden mir dann nur einsen ausgegeben?! ICh versteh das nicht kann mir jemand das mal in den code schreiben vielleicht hab ich was übersehen?*zweifel schon langsam an mir selbst*

              Kommentar


              • #8
                Code:
                if (!$offset || $offset<0) $offset = 0; 
                $diff = 5; 
                $r = mysql_query("SELECT count(*) FROM user "); 
                $anz = mysql_result($r,0); 
                if (!$offset || $offset<0) { $offset = 0; $disabled[prev] = TRUE; } 
                if (($offset + $diff) >= $anz) { $diff = $anz - $offset; $disabled[next] = TRUE;} 
                $r = mysql_query("SELECT * FROM user order by gesamtpunkte desc LIMIT $offset,$diff "); 
                Counter = 1; //Hier Counter initialisieren
                while ($daten = mysql_fetch_array($r)){ 
                //ab hier den Counter ausgeben (echo $Counter; oder echo "$Counter";, das letzte von beiden im Ausgabecode!
                echo "<tr>"; 
                print("<td width=30 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center></div></td>"); 
                print("<td width=250 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["efiname"]."</div></td>"); 
                print("<td width=50 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["gesamttipps"]."</div></td>"); 
                print("<td width=50 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["qualipunkte"]."</div></td>"); 
                print("<td width=50 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["rennpunkte"]."</div></td>"); 
                print("<td width=50 bgcolor=#FAE6C0 colspan=1><class=textsmall><div class=hsmall align=center>".$daten["gesamtpunkte"]."</div></td>"); 
                echo "</tr>";
                
                $Counter++; //danach den Counter nicht mehr ausgaben, da bereits um 1 inkrementiert!
                }// ich gehe mal davon aus, daß die Schleife hier zu Ende ist!?
                Falls das nicht gehen sollte, schreib mal rein, wo der Counter ausgegeben werden soll

                gruss

                Kommentar


                • #9
                  hi danke schön! es hat geklappt ich hatte da ne klammer übersehen *menno* naja jetzt hab ich grad ein anderes prob das ist ziemlich kompliziert irgendwie will er nicht mit null addieren! den in einem datensatz steht der user und im anderen nicht aber mal sehen der tag hat ja noch ein paar stunden!

                  also thnx

                  Kommentar

                  Lädt...
                  X