id save?

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

  • id save?

    Hi,

    folgendes Problem:

    user x hat sich erfolgreich eingelogged (sessions) und liest nun im Forum, thread "bla" ... im thread befinden sich ca. 500 posts ... nun liest user-x nur bis post 399 und verlaesst das Forum..

    Nun moechte ich das er bei seinem naechsten besuch im Forum unter thread "bla" ab post 400 weiterlesen kann, sprich nicht alle erneut von 1-399 angezeigt bekommt .. sondern direkt auf post 400 kommt. wie koennte ich das loesen, achja ..ich benutze auch dieses <link > script von Sky (thanks!) ..fuer das anzeigen von x daten pro seite..

    Danke schonmal fuer die hilfe.

    ps. ein kleines script-beispiel waere nett

  • #2
    Wie stellst du dir das vor, woher soll das Forum merken, bis zu welchem Beitrag gelesen wurde ?
    Du kannst allerhöchstens feststellen, welche Seiten er aufgerufen hat.

    Speichern musst du das entweder in Logdateien oder in einer Datenbanktabelle, in der du userid mit postid/threadid und zeit verknüpfst.

    Du könntest es auch Zeitabhängig machen.
    Du kannst einen Link anbieten, der ihn zu der Seite bringt,
    in der die Beiträge anfangen, die geschrieben wurde, seitdem der Benutzer das Forum zuletzt betreten hat.
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

    Kommentar


    • #3
      Danke erstmal fuer deine antwort:

      variante 1 hatte ich mir auch schon ueberlegt.. sprich thread/post id zusammen mit user-id speichen.. nur wie bekomme ich dieses dann als session -anhang, um ihn dann wieder zum post x zu bringen.. wie wird das hier im Forum geloest? ..da gibt doch auch so eine funktion, oder?

      Kommentar


      • #4
        Ach das ist doch nicht von Sessions abhängig.
        Die Postid wird gespeichert und ausgelesen.
        Dann wird per Ancker ( #post2324 ) zu dem Beitrag gelenkt.
        Das sollte kein Problem sein... wir helfen dir auch

        Also meine Empfehlung wäre Variante 2:
        Du bietest einen Link an, zum nächsten "neuen" Beitrag zu springen. "Neuer Beitrag" bedeutet da:
        Ein Beitrag ist neu, wenn er geschrieben wurde, nachdem der Benutzer das Board das letzte Mal besucht hat.
        Dazu ist es nötig, die Zeit beim Aufrufen des Forums zu speichern.
        Damit die Zeit nicht ständig erhöht wird, sind zwei Werte nötig, die nach einer bestimmten Zeit überschrieben werden (sozusagen Rotation). Diese Variante ist nicht wirklich genau, ist aber recht einfach.

        Du musst entscheiden, was du möchtest. Also bei Variante 1 hast du eine ziemlich hohe Genauigkeit, bei Variante 2 fallen dafür keine riesigen Logdaten an.

        Edit: Du programmierst ein Forum ?
        Es gibt doch schon Duzende sehr gute. Oder ist das ein Projekt für dich selber zum Lernen und Ausprobieren ?
        Zuletzt geändert von Troublegum; 15.04.2002, 23:40.
        [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
        [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
        [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

        © Harald Schmidt

        Kommentar


        • #5
          naja ich versuche es zumindestens ein kleines Forum zu basteln ...die Foren die es gibt sind mit einfach zu "Fett" im source.. zu viel schnick schnack.. was ich machen möchte, ist praktisch ein Forum auf guestbook-basis.. halt wenig funktionen, ohne grafiken, sondern nur text, ganz einfach aus dem grund ,weil ich traffic sparen moechte. ...und das eigentliche problem ist das meine PHP faehigkeiten recht mager sind .. daher bin ich echt froh das es solche communites, wie diese gibt.

          Also meine Empfehlung wäre Variante 2:
          Du bietest einen Link an, zum nächsten "neuen" Beitrag zu springen. "Neuer Beitrag" bedeutet da:
          Ein Beitrag ist neu, wenn er geschrieben wurde, nachdem der Benutzer das Board das letzte Mal besucht hat.
          Dazu ist es nötig, die Zeit beim Aufrufen des Forums zu speichern.
          Damit die Zeit nicht ständig erhöht wird, sind zwei Werte nötig, die nach einer bestimmten Zeit überschrieben werden (sozusagen Rotation). Diese Variante ist nicht wirklich genau, ist aber recht einfach.
          ok, du sagst es ja schon... da ich unnötigen traffic vermeiden will, ist dann doch die variante 2 besser.. koennte man es nicht so loesen, das wenn der "userX" auf den link "news" klickt ..der link dann praktisch ergaenzt wird ... zb. news.php?threadid=X ..wobei X dann praktisch der post ist, der neu dazu gekommen ist, als "UserX" das letzte mal auf dem Board war.


          ist vielleicht ein bisschen umstaendlich erklaert.. aber ich hoffe das es in etwa angekommen ist.. ..
          Zuletzt geändert von dESIGN; 16.04.2002, 11:15.

          Kommentar


          • #6
            Ja ich habs kapiert....

            In einer globalen Datei, die bei jedem Seitenaufruf geladen wird, speicherst du die Zeit, aber nur, wenn der letzte Zeitwert mehr als bsp. eine halbe Stunde alt ist.
            Dadurch wird verhindert, dass Beiträge "neu" sind, obwohl du nur die Startseite geladen hast.

            Beim Aufruf von new.php?threadid=X
            wird mit SELECT beitragsid FROM beitrage WHERE zeit>=letzter Zeitwert des Besuchs ORDER BY zeit ASC LIMIT 1

            In der Anzeige der Beiträge printest du bei jedem Beitrag einen Ancker mit der beitragsid aus ( #Beitragsid).
            In der new.php leitest du mit header() weiter auf
            thread.php?threadid=X#Beitragsid (oder wie auch immer dein Aufruf ist). Sollte die Diskussion mehrere Beiträge hat, musst du in der new.php vorher ausrechnen, wieviele Seiten die Diskussion hat und auf die richtige Seite weiterleiten.
            [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
            [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
            [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

            © Harald Schmidt

            Kommentar


            • #7
              Danke @Troublegum

              ich werde es mal probieren, vielen Dank fuer deine Hilfe.

              Kommentar


              • #8
                ok so weit so gut.. das einzige problem was ich noch habe ist ..das ausrechnen wieviel beitraege der thread hat... wie mach ic hdas am besten... pheww, php ist doch schwerer als ich dachte

                Kommentar


                • #9
                  wieviel beitraege der thread hat
                  entweder für einen bestimmten:
                  select count(*) from BEITRAG where THREAD_ID=$thread_id
                  oder für alle:
                  select THREAD_ID, count(*) from BEITRAG group by THREAD_ID

                  verknüpft mit dem Titel des ersten Beitrags:
                  select B1.THREAD_ID, B2.TITEL, count(B1.*) from BEITRAG B1, BEITRAG B2 where B2.ID=B1.THREAD_ID group by B1.THREAD_ID
                  mein Sport: mein Frühstück: meine Arbeit:

                  Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                  Kommentar


                  • #10
                    ah, jetzt kann ich mir schon mehr vorstellen, vielen Dank @Titus und @Troublegum

                    Kommentar

                    Lädt...
                    X