Gästebuchverlauf

  • Moin,


    folgendes...Ich würde gern beim Gästebuch die neusten einträge noch oben setzen, sodass die ältern unten sind.
    Desweiteren hatte ich mir überleg, dass wenn eine bestimmte Anzahl an Einträgen erreicht ist, diese in eine neue Seite fallen.
    Das unten dann steht z.B. "Ältere Einträge". Ich hoffe ihr wisst was ich meine, so dass die Seite später nicht unendlich lang wird.


    Gästebuchcode:


  • Hallo,


    Zitat

    .Ich würde gern beim Gästebuch die neusten einträge noch oben setzen, sodass die ältern unten sind.


    Das ist nicht schwer, du musst nur die Sortierreihenfolge ändern:

    Code
    $sql =  "SELECT  *
                FROM gaestebuch
                WHERE aktiviert='1'
                ORDER BY datum DESC";


    Zitat

    Desweiteren hatte ich mir überleg, dass wenn eine bestimmte Anzahl an Einträgen erreicht ist, diese in eine neue Seite fallen.
    Das unten dann steht z.B. "Ältere Einträge". Ich hoffe ihr wisst was ich meine, so dass die Seite später nicht unendlich lang wird.


    Auch das ist machbar. Um nur eine bestimmte Anzahl an Einträgen anzuzeigen brauchst Du den Befehl LIMIT im Query.

    SQL
    SELECT *
                FROM gaestebuch
                WHERE aktiviert='1'
                ORDER BY datum DESC LIMIT 10 ";


    Um die älteren Einträge auf einer anderen Seite anzuzeigen braucht Du einen Link auf die andere Seite und beim Query den Befehl OFFSET.

    Code
    "SELECT  *
                  FROM gaestebuch
                  WHERE aktiviert='1'
                  ORDER BY datum OFFSET 11 ";


    Ich hoffe ich konnte Dir etwas weiterhelfen, falls nicht einfach nochmal fragen.


    LG

  • Danke..ich werds mal versuchen..aber ganz genau versteh ich das noch nciht wie ich das mit dem Link machen soll..und wohin das muss


    Code
    $sql =  "SELECT  *
                FROM gaestebuch
                WHERE aktiviert='1'
                ORDER BY datum DESC 10"; //Wie mach ich das hier mit dem max...kann ich das mit dem Limit und OFFSET zusammenschreiben?
  • Hallo,

    Zitat

    aber ganz genau versteh ich das noch nciht wie ich das mit dem Link machen soll..und wohin das muss


    unter den Einträgen vom Gästebuch kannst Du ihn packen.

    Code
    <a href="aeltere_eintraege.php">&Auml;ltere Eintr&auml;ge</a>


    In diesem Skript zeigst Du alle Einträge an die älter sind, z.B. ab dem 10ten


    Zitat

    //Wie mach ich das hier mit dem max...kann ich das mit dem Limit und OFFSET zusammenschreiben?


    Kannst Du hier nicht weil Du auf der ersten Seite nur die ersten 10 oder so Einträge anzeigen möchtest.
    Komplett heisst der SQL Befehl so:


    Code
    "SELECT * FROM gaestebuch WHERE aktiviert = '1' ORDER BY name DESC LIMIT 10 OFFSET 10";


    Natürlich musst Du für LIMIT und OFFSET Deine eigenen Werte eingeben.


    LG

  • Ok, jetzt ist mir noch was aufegallen.


    Ich habe die neue Seite die für die älteren Einträge gelten soll implementiert. Man kommt auch direkt schon drauf. Nur habe ich leider noch nicht genug Einträge dafür, dass die neue Seite erreichbar sein soll.
    Kann ich irgendeine Funktion einbinden, damit die Seite erst ab dem 11. Eintrag erreichbar wird?
    Dachte da gerade so an einen visible/enable Funktion für den Link, da die Seite ansich so nicht erreichbar ist.

  • Du kannst per header-Befehl zum normalen Gästebuch weiterleiten lassen, falls zu wenige Einträge vorhanden sind. Vorraussetzung dafür ist allerdings, dass du vorher nichts ausgegeben hast.


    Den Link kannst du natürlich auch per if-Abfrage nur anzeigen, wenn genügend Einträge vorhanden sind.

  • Hi,


    eine Möglichkeit wäre wenn Du den Link mit PHP ausgibst nachdem Du die Anzahl der Einträge geprüft hast.
    Probier es mal damit:


    Code
    $result = mysql_query("SELECT * FROM DEIN_TABELLEN_NAME");
      $count = mysql_num_rows($result);
      if($count > 10)
      {
         echo '<a href="aeltere_eintraege.php">Ältere Einträge</a>';
      }

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!