Ankündigung

Einklappen
Keine Ankündigung bisher.

Einträge nummerieren

Einklappen

Neue Werbung 2019

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

  • Einträge nummerieren

    Ich möchte für mein Forum eine Rangliste machen, wo die Benutzer nach ihren Beiträgen geordnet werden. Aber ich möchte ganz links auch noch eine Spalte mit dem Rang haben. Wie kann man das am besten machen?

  • #2
    Was genau ist dein Problem? Beiträge vom User zählen und danach den Rang berechnen. Der Rang gilt halt für eine bestimmt Anzahl an Beiträgen.

    Kommentar


    • #3
      Nein das meine ich nicht. Wenn ein User 100 Beiträge hat ist er im monet z.B. auf Rang 1 und wenn jetzt ein anderer mehr als 100 schreibt kommt er auf rang 1.

      Kommentar


      • #4
        Du könntest in einer Schleife für jeden User die Anzahl der Beiträge in der DB bestimmen und dann in einem Array die ermittelten Daten abspeichern. Danach das Array sortieren:

        PHP-Code:
        $ranking = array();

        $user_ids = array(123);

        foreach (
        $user_ids as $id) {
          
        $sql "SELECT
                        COUNT(*) as num
                  FROM
                        tabelle
                  WHERE
                        user_id = 
        $id
          "
        ;
          
        $result mysql_query($sql) OR die (mysql_error());
          
          
        $row mysql_fetch_array($result);
          
          if (!isset(
        $ranking[$row["num"]])) {
            
        $ranking[$row["num"]] = array($id);
          } else {
            
        $ranking[$row["num"]][] = $id;
          }
        }

        //dann sortieren
        ksort($ranking);  //oder krsort($ranking);

        //Ausgabe nach Anzahl an Beiträge geordnet
        $entries = -1;
        foreach (
        $ranking as $key => $value) {
          if (
        $entries != $key) {
            echo 
        '<p>Beiträge: ' $key '</p>';
            
        $entries $key;
          }
          echo 
        '<p>' $value '</p>';

        Keine Ahnung ob das funktioniert, musst du mal ausprobieren!

        Kommentar


        • #5
          versuchs mal damit MySql: UPDATE... ORDER BY - PSD-Tutorials.de - Forum

          Kommentar


          • #6
            Wo ist denn das Problem? Braucht doch nicht so einen riesen Aufwand für ein so kleines Problem:
            PHP-Code:
            $sql "
                SELECT
                    user_name,
                    COUNT(user_name) as num
                FROM
                    tabelle
                GROUP BY
                    user_name
                ORDER BY
                    num DESC"
            ;
            $result mysql_query($sql) or exit(mysql_error());
            $rang 1;
            while(
            $row mysql_fetch_object($result){
                echo 
            "$rang$row->user_name $row->num<br />";
                
            $i ++;

            Kommentar


            • #7
              Bei mir funktioniert das nicht. Muss num eine Spalte in der Tabelle sein?
              Und was bedeutet $i++ ???

              Kommentar


              • #8
                http://www.php.de/php-einsteiger/489...rundlagen.html

                Kommentar

                Lädt...
                X