Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Zuviele Seiten werden angezeigt

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Zuviele Seiten werden angezeigt

    Hi,

    ich bin dabei gerade ein Forum zu programmieren und habe nun ein kleines Problem entdeckt.
    Es werden mir bei der Posts ausgabe einfach zu viele Seiten angezeigt und ich weiß nicht warum.
    Um es anschaulicher zumachen, habe ich das Forum mal hochgeladen:

    Ihr könnt euch mit folgenden Daten Einloggen:

    http://newwarrior.milten.lima-city.d...p?action=login

    Login: test
    Passwort: test

    Und dann klickt ihr auch den Link:

    http://newwarrior.milten.lima-city.d...=1&thread_id=1

    Dort könnt ihr euch ansehen was ich meine. Auf drei Seiten steht nur ein Beitrag, und es werden aber 5 Seiten angezeigt und ich weiß nicht warum.

    Auf der dritten Seite ist der Code meiner beiden PHP Dateien gepostet, womit ich die Posts in Seiten einteile.
    Ich kann mir aber nicht erklären warum mir zuviele Seiten angezeigt werden.
    Wäre nett wenn ihr mir da helfen könntet.

    Danke für die Hilfe.


  • #2
    $prev_site = $site-1;
    $next_site = $site+1;
    Vermutlich meinst Du "page". site heißt Standort, Schauplatz u.ä.

    $addy = "posts.php?forum_id=".$_GET["forum_id"]."&thread_id=".$_GET["thread_id"]."";
    if($site > 1)echo '«« «';
    Damit kann Code aus den url Parametern in den html Code der Seite einfließen; nicht gut.
    Wenn forum_id und thread_id Zahlen sein sollen, stelle sicher, dass sie es sind.
    Wozu .""? Eine leere Zeichenkette anhängen ist überflüssig.

    $sql_sites = "SELECT * FROM user";

    $result_sites = mysql_query($sql_sites);

    $num_sites = mysql_num_rows($result_sites);
    Damit werden alle Datensätze von mysql in den Speicher von php kopiert.
    Wozu? Du willst ja nur die Anzahl haben.
    Wesentlich schneller ist daher SELECT Count(*) FROM user

    Und was hat die Tabelle user mit der Anzahl der Seiten (oder doch Standorte?) zu tun?

    Konsequenter einrücken. Das schließt auch einheitliches Setzen/Einrücken von Klammern mit ein.
    Bezeichnungen/Variablennamen überdenken. Sprechende, treffende Namen verwenden. Englische Bezeichnungen im Zweifelsfall bei http://dict.leo.org/ nachschlagen.

    Kommentar


    • #3
      Danke,

      dies war wirklich der Fehler...

      Kommentar


      • #4
        Mal so nebenbei:
        PHP-Code:
        $sql_sites "SELECT * FROM user"
        Sowas solltest du vermeiden, gerade bei einem Forum.
        http://php-faq.de/q/q-sql-select.html

        Und ein paar mehr Kommentare wären vielleicht auch keine schlechte Idee.

        Kommentar


        • #5
          Wie genau meinst du das mit den Kommentaren?

          Kommentar


          • #6
            Du hast da fast 60 Zeilen Code und die enthalten nur einen Kommentar. Zur späteren Wartung des Codes ist es sicher hilfreich (und zeitsparend), wenn du ein paar mehr Kommentare an entsprechenden Stellen verwendest.

            Was mir eben noch aufgefallen ist:
            echo '«« «';
            [...]
            echo '» »»

            ';
            Hier solltest du lieber "«" statt "«" schreiben. Und natürlich "»" statt "»".

            Und das solltest du dir auch mal zu Herzen nehmen:
            http://tut.php-q.net/einruecken.html

            Kommentar

            Lädt...
            X