Zahl des Eintrags, so wie insgesamt Anzahl der Einträge ausgeben

Read-Only-Modus

Das 01-Supportforum befindet sich im Read-Only-Modus. Es ist nicht mehr möglich sich zu registrieren, neue Themen zu erstellen oder auf bestehende Themen zu antworten.

Alle Inhalte stehen bis auf absehbare Zeit jedoch weiterhin lesend zur Verfügung.


Bei Fehlern oder Problemen mit PHP-Scripten von 01-Scripts.de erstellen Sie gerne einen Issue-Eintrag auf Github oder nehmen Sie per E-Mail Kontakt auf.

  • Wie würde ich es am besten einbauen, dass ich folgende Ausgaben bekomme?



    -------------------------------------------------------------
    Überschrift Gästebuch


    Eintrag hinterlassen


    Insgesamt sind xx Einträge hinterlassen worden.


    ----------------
    1 | Name |
    | Eintrag |
    ----------------
    2 | Name2 |
    | Eintrag |
    ----------------
    3 | Name3 |
    | Eintrag3 |
    ----------------------------------------------------------


    Zurzeit ist es ja nur so:


    |Name
    |Eintrag


    |Name
    |Eintrag

  • Das Problem ist, dass manche Einträge ja gelöscht werden.


    Dann sieht das so aus:


    ID 1
    ID 2
    ID 4


    Wenn Beitrag 3 gelöscht wurde.


    Alle Einträge zählen, sollte ja nicht so schwer sein. Aber für jeden Beitrag noch die passende Zahl auszugeben... das gibt mir zu denken.

  • Also 'Einträge insgesamt' müsste ja mit mysql_num_rows($list); funktionieren?


    gbook01.php:

    PHP
    1. $list = mysql_query($query);
    2. $anzahl = mysql_num_rows($list);


    main_top.html:

    PHP
    1. <p>Insgesamt sind <?php echo $anzahl; ?> Einträge hinterlassen worden.</p>
  • Das kommt drauf an was für ein $query verwendet wird.
    Der "normale" Query im Gästebuch ist nämlich normalerweise auf x Einträge (pro Seite) limitiert.
    Das heißt in $anzahl würden dann natürlich auch nur die limitierte Anzahl an Einträgen abgelegt werden.

  • $query = "SELECT * FROM ".$mysql_tables['gb_entry']." WHERE frei = '1' ORDER BY timestamp DESC";


    oder soll ich eine neue query schreiben?


    Edit: Achsooo. Natürlich kann das nicht klappen.
    In 01gbook.php wird zuerst "main_top.html" includet. Und ich habe die Variable erst danach definiert.


    Also habe ich es so gemacht:


    PHP
    1. // Einträge insgesamt
    2. $qi = mysql_query("SELECT * FROM ".$mysql_tables['gb_entry']." WHERE frei = '1'");
    3. $anzahl = mysql_num_rows($qi);
    4. // main_top einfügen
    5. include($tempdir."main_top.html");



    Und wegen dem Rückwärtszählen.
    Mit for bzw. foreach müsste es ja gehen?! Ich habe es nicht mehr im Kopf. Aber irgendwie $i--.

  • Prinzipiell kann eine beliebige Variable natürlich als Zählvariable verwendet werden und dann bei jedem Eintrag über $var--; um 1 dekrementiert werden.
    Es muss aber halt bedacht werden, dass wenn ein Benutzer auf "Seite 2" klickt die entsprechende Anzahl an Einträgen, die bereits auf Seite 1 aufgelistet wurden, abgezogen wird. Und das muss halt so dynamisch programmiert sein, dass es für jede beliebige Seitenzahl funktioniert.