Ankündigung

Einklappen
Keine Ankündigung bisher.

Zum letzten Beitrag springen? php/mysql

Einklappen

Neue Werbung 2019

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

  • Zum letzten Beitrag springen? php/mysql

    Hallo zusammen,
    also, mein Problem ist folgendes:
    Ich möchte dass man in meinem Kleinen Miniboard zum letzten Beitrag springen kann. Eigentlich müsste ich schon das richtige Prinzip haben, nur dieses Funktioniert nicht .

    Mein Prinzip war so:
    PHP-Code:
    $sql2_last_post "SELECT Content FROM threads  ORDER BY `Content` ASC LIMIT 1 WHERE URLAnhang = '$menu_row[MenueName]' ";
    $menu_result_last_post mysql_query($sql2_last_post$conn);
    $sql2 "SELECT * FROM cm24_content ORDER BY Ebene1, Ebene2";
    $menu_result mysql_query($sql2$conn);
    // Diese Schleife erzeugt die Ober- und Untereinträge
    while ($menu_row_last_post = @mysql_fetch_assoc($menu_result_last_post)) {
    while (
    $menu_row = @mysql_fetch_assoc($menu_result)) {
    echo 
    "Dies ist der Topic $menu_row['MenueName']";
    echo 
    "Und dies ist der letzter Post Sprung: $menu_row_last_post['Content']; 
    }

    Das müsste doch alles stimmen oder? Wo ich bedenken habe ist bei
    PHP-Code:
    URLAnhang '$menu_row[MenueName]' 
    weil das
    PHP-Code:
    $menu_row['MenueName'
    ja noch gar nicht definiert ist, aber wenn ich es davor hinstelle, dann wird gar nichts angezeigt.

    MfG,
    Minimi


  • #2
    Warum übergibst du nicht einfach sowas wie ....&show=last_post und überprüfst beim Anzeigen des Threads, ob eine $_GET Variable mit dem Wert existiert. Wenn nicht, ganz normal anzeigen lassen, wenn doch, suchst du in der Datenbank den Post mit der entsprechenden Thread-ID, der das neueste Datum hat? Dann musst du nur noch allen Post ein <a name="{postid}"></a> geben (wobei {postid} durch die jeweilige ID des Posts ersetzt wird) und lässt den Browser dann dorthin scrollen?

    Natürlich kann dein Versuch nicht funktionieren und den Grund dafür hast du ja schon selber genannt. Was nützt eine SELECT-Abfragen, wenn beim WHERE-Teil nichts brauchbares drinsteht?

    Kommentar


    • #3
      Öhm...sorry wenn ich jetzt so doof frage, aber wie kriege ich das hin, dass man mit "$_GET" eine Verbindung zur Datenbank herstellen kann? Weil eigentlich habe ich nur gesehen, dass man "$_GET" für URLs, Datenbankeingaben oder einfach nur durch die normale ausgabe ohne eine Datenbank verwendet, aber wie man die mit mysql ausgibt kenne ich nicht

      MfG,
      Minimi

      Kommentar


      • #4
        Mit $_GET kannst du auch nicht zu einer Datenbank verbinden. Du hast mich entweder falsch verstanden oder ich habe es beschissen erklärt.

        Also nochmals von vorne: Du wirst ja irgendwo einen Link haben, mit dem du zum letzten Beitrag springen willst. Diesem Link hängst du z.B. "&show=last_post" an. In der Datei, in der du die Posts ausgibst, überprüfst du, ob $_GET['show'] existiert und den Wert "last_post" hat. Wenn nicht, gibst du ganz normal die Posts aus. Wenn es existiert, erstellst du einen Query und suchst nach dem Post mit der aktuellen Thread-ID, der das älteste Eintrags-Datum hat. Das ist ja dann der letzte Post, den du ja anzeigen willst. Dann musst du halt (je nachdem, wie komplex dein Miniforum ist) berechnen, auf welcher Seite sich der Post befindet, dann mit einem <meta> Refresh dorthin weiterleiten und fügst der Refresh-URL noch #{postid} an, damit der Browser gleich zu dem Post mit <a name="{postid}"></a> springt (diese musst du natürlich bei der Ausgabe der Posts noch jeweils einfügen lassen.

        Weiss ehrlich gesagt nicht, wie ich es noch einfacher erklären soll ohne gleich das ganze zu coden, wozu ich ehrlich gesagt keine Lust habe, da es doch eigentlich ziemlich simpel ist.

        Kommentar


        • #5
          Ah jetzt verstehe ich
          Also, ich habe es jetzt hinbekommen (die Überprüfung von $_GET['show']). Aber wenn ich das mit dem query mache, komme ich doch wieder aufs gleiche oder? Ich meine, dass ich nicht das
          PHP-Code:
          URLAnhang '$menu_row[MenueName]' 
          nicht machen kann, dass ich da die richtige id mit dem richtigen Post abrufen kann oder? Oder habe ich da wieder was falsch verstanden?

          MfG,
          Minimi

          Kommentar


          • #6
            Wenn du $_GET['show'] überprüft hast und "last_post" drin steht, musst du deinen Query irgendwie folgendermassen modifizieren:
            Code:
            ORDER BY Datum DESC LIMIT 1
            Das gibt dir den Eintrag mit dem allerneusten Post zurück. Dabei musst du "Datum" natürlich durch den Namen ersetzen, den du benutzt. Damit hast du die ID und alle anderen verfügbaren Daten des allerletzten Post.

            Kommentar


            • #7
              Aber wie stelle ich dann den Bezug zu dem richtigen Thread her? Weil das
              PHP-Code:
              WHERE URLAnhang '$row_menu[id]' 
              kann ich ja wieder nicht verwenden . Das ich den ältersten Beitrag anzeigt klappt gerade ohne Probleme, aber den richtigen Post, der zum zugehörigen Topic gehört anzeigen lassen, da ist gerade mein Problem. Weil mit dem $_GET habe ich ja nur geprüft, obs den Post überhaupt gibt. Aber leider halt net den Bezug zum zugehörigen Topic, oder habe ich da wieder was missverstanden?

              MfG,
              Minimi

              Kommentar

              Lädt...
              X