textarea; zum letzten eigenen Beitrag

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • textarea; zum letzten eigenen Beitrag

      Vor allem für Programmierer bzw. im Forum "PC & Internet" sehr interessant ist wohl ein textarea-Feld im Beitrag, um Code einzufügen. Der Beitrag kann so kleiner gemacht werden, was die benötigte Fläche im Browser angeht, sollte der Code etwas länger werden. Wenn mit Whitespaces Einrückungen am Anfang einer Codezeile gemacht werden, gehen diese dann auch nicht verloren, und der Code bleibt sauber und lesbar.


      Und um die Sache nun fast zu einem Kinderspiel für den Administrator zu machen: TEXTAREA zum Öffnen, /TEXTAREA zum Schließen. Es dürfen keine Tags/Smilies/etc. innerhalb dieses Bereichs umgesetzt werden und innerhalb des QUOTE-Containers muss der gesamte TEXTAREA-Container ignoriert werden. Zu verwenden ist das HTML-Tag <textarea>, das CSS-Attribut font-family für textarea kann auf monospaced gesetzt werden (Standard). Das textarea-Attribut cols besitze einen Fixwert von 64 und rows sollte frei wählbar mit Werten zwischen 1 und 16 sein (bspw. TEXTAREA=5). Wenn rows zu groß angegeben wird, sollte 16, wenn zu klein angegeben, 1 erzwungen werden. Bevor der Beitrag gespeichert wird, sollten sinnlose rows-Werte durch sinnvolle ersetzt werden. Die korrigierten Werte sollten auch im Quelltext des Beitrags erscheinen, wenn man auf "Vorschau" geklickt hat. Die Angabe readonly="readonly" darf natürlich auch nicht fehlen. Das Attribut wrap="off" ist zwar nicht ganz W3C-konform, sollte jedoch für diese Textareas verwendet werden (Lesbarkeit).
      Entsprechend muss ein Button für TEXTAREA dem Formular zum Erstellen eines Beitrags hinzugefügt werden.



      OK...

      Jetzt zu Nummer 2 (sehr sinnvoll!):

      Natürlich möchte ich mir die Beiträge ansehen, die nach meinem letzten verfasst wurden. Aber ich suche manchmal ewig meinen letzten eigenen Beitrag, und rückwärts lesen macht sich nicht sehr elegant. Wäre es also möglich, hinter ein Thema (bzw. hinter den Seitenzähler) in Klammern die Nummer des letzten eigenen Beitrags anzeigen zu lassen? Das dann natürlich als Link dorthin. Diese Angabe muss natürlich entfallen, wenn man zu diesem Thema noch nichts geschrieben hat. Das hat gleich mehrere Effekte:

      1. Man sieht sofort, ob man zu einem Thema etwas geschrieben hat.
      2. Man kann sich leicht ausrechnen, wie viele Beiträge dem letzten eigenen folgen.
      3. Man kann sofort zum letzten eigenen Beitrag, um dann die folgenden zu lesen, die man sich wohl meistens noch nicht angeguckt hat.

      Diese Funktion kann natürlich auch bei den Suchergebnissen implementiert werden.

      MfG
      アーク
    • Also für das Textaria-Ding hätt' ich nich so Verwendung, aber das muss ja nix heißen :rolleyes:

      Allerdings fänd ich die Idee mit dem "Zum letzten Eigenen Beitrag"-Button echt gut. In so Threads wie "Das NNeue Zelda" die Täglich dutzende von Posts abgrasen, sucht man ewig, bis man den letzten EIgenen Beitrag gefunden hat, um weiterzulesen. Die Idee mit 'Nem Button fänd ich daher gut (btw sogar praktischer, als die Funktion "Zum ersten Neuen Beitrag gehen" <-- wobei ich nich ganz verstehe, wo mich der Button in letzter Zeit hin schickt >_>"

      Gewinner der Wahl zur besten Z-FF 2003: Die Vereinigung
      Sequel: Die Vereinigung II - Phoenix
    • Ein textarea-Feld wäre meiner Meinung nach weniger sinnvoll, denn dieses muss in ein Formular eingebunden werden, was den Code unnötig vergrößert. Die textarea würde sozusagen "missbraucht" werden... Es würde schon reichen, die Einrückung korrekt darzustellen...
      Besonders dekorativ ist ein textarea-Feld eh nicht ;)
      im Falle einer Umsetzung könnte man die Breite einfach auf 100% setzen

      zu 2.: Ein Board ist eigentlich dazu gedacht, alle Beiträge zu einem Thema zu lesen. Und dafür gibt es bereits den Button "Zum ersten neuen Beitrag".
      zu 1.: das siehst du schon in der Themenübersicht
      zu 2.: naja, nicht unbedingt. und so wichtig ist das ja auch net
      zu 3.: wie gesagt, s. "zum ersten neuen beitrag" das sind dann nämlich mit sicherheit die die man noch nicht gesehen hat
      es würde außerdem ziemlich performance kosten, da alle beiträge aufgelistet werden müssen, der letzte "eigene" herausgefunden werden muss und dann ausgerechnet werden muss auf welcher seite er ist.

      das mit den suchergebnissen versteh ich nicht...
    • Original von El#PasO
      Ein textarea-Feld wäre meiner Meinung nach weniger sinnvoll, denn dieses muss in ein Formular eingebunden werden, was den Code unnötig vergrößert. Die textarea würde sozusagen "missbraucht" werden... Es würde schon reichen, die Einrückung korrekt darzustellen...
      Besonders dekorativ ist ein textarea-Feld eh nicht ;)
      im Falle einer Umsetzung könnte man die Breite einfach auf 100% setzen

      zu 2.: Ein Board ist eigentlich dazu gedacht, alle Beiträge zu einem Thema zu lesen. Und dafür gibt es bereits den Button "Zum ersten neuen Beitrag".
      zu 1.: das siehst du schon in der Themenübersicht
      zu 2.: naja, nicht unbedingt. und so wichtig ist das ja auch net
      zu 3.: wie gesagt, s. "zum ersten neuen beitrag" das sind dann nämlich mit sicherheit die die man noch nicht gesehen hat
      es würde außerdem ziemlich performance kosten, da alle beiträge aufgelistet werden müssen, der letzte "eigene" herausgefunden werden muss und dann ausgerechnet werden muss auf welcher seite er ist.

      das mit den suchergebnissen versteh ich nicht...



      Die Nummer der Zielseite ist doch total einfach zu berechnen: Die Nummer des Beitrags durch die Anzahl der Beiträge pro Seite dividieren. Diese Zahl enthält vor dem Komma die Nummer der Seite, der Rest (Nachkommastellen) sagt, der wievielte Beitrag innerhalb der Seite es ist.

      Beispiel: Es soll die Position des 52. Beitrags ermittelt werden (Zählung beginnt immer bei 0).
      n...Nummer des Beitrags
      f...Anzahl der Beiträge pro Seite
      xh...Seitenzahl (HI)
      xl...Abstand vom 1. Beitrag einer Seite (LOW)

      geg.:
      n=51
      f=20

      ges.:
      xh, xl

      Lösung (BASIC):
      xh=int(n/f)
      xl=n-xh*f

      xh=int(51/20)
      xl=51-int(51/20)*20

      xh=2
      xl=11

      Probe:
      n=xh*f+xl
      51=2*20+11
      51=51

      Der Beitrag ist also auf Seite 3 zu finden.
      Nebenbei gesagt: Jeder Beitrag bekommt einen Anker, der als Namen die Nummer des Beitrags hat, den LOW-Wert brauchen wir also nicht.


      Sowas lernt man doch in der Schule! :rolleyes:

      Und außerdem möchte ich daran erinnern, wie schnell ALLE FOREN durchsucht sind, da dürfte es bei EINEM THREAD praktisch in Nullzeit gehen. Außerdem glaube ich, dass a) Benutzername zu einem Beitrag und der Beitrag selbst getrennt gespeichert werden, und dass b) nicht nach dem Benutzernamen sondern nach der User-ID gesucht wird etwa so:

      Tabelle der User (Spalten):
      ID, Nickname, Passwort, E-Mail-Adresse, Avatar, Signatur, Optionen, etc.
      In den Zeilen sind dann die einzelnen Benutzer eingetragen.

      Tabelle der Beiträge (Spalten):
      ID des Forums, Nummer des Beitrags, Ersteller des Beitrags, Datum/Zeit der Erstellung, eigentlicher Beitrag, Anhang, etc.
      in den Zeilen sind dann die Beiträge.

      Und zu den Suchergebnissen: Es handelt sich bei den Suchergebnissen (Themen zeigen) (search.php) und bei der normalen Anzeige der Themen in einem Forum (board.php) offensichtlich um zwei völlig verschiedene Seiten. Und in beide Seiten sollte dann diese Funktion eingebaut werden.

      Das mit den Einrückungen ist mit Browsern auf herkömmlichem Weg unmöglich, weil durch ihn alle Whitespaces zu ein einziges zusammengezogen werden. Man könnte zwar immer verwenden, aber das ist viel zu umständlich.

      (ohne &amp;nbsp; )
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (mit &amp;nbsp; )


      Ich frage mich, ob der Administrator diesen Thread schon gesehen hat...
    • An deiner Stelle würde ich die :rolleyes:s weglassen wenn ich keine Ahnung hätte -.-' Aber danke, ich bin sowohl mit der Forenstruktur der Woltlab Burning Boards als auch mit Mathematik gut genug vertraut um mir das nicht nur zu denken sondern sogar zu wissen.

      Um meinen ersten Satz nicht unbegründet zu lassen - woher bitte willst du wissen, dass sich der gesuchte Post an 51. Stelle des Threads befindet? Es wird nur die Beitrags-ID im gesamten Forum gespeichert: obwohl du den 4. Post in diesem Thema geschrieben hast, hat dein Beitrag die ID 252161, mit diesem Wert lässt sich also nicht arbeiten.

      Das einzig mögliche Vorgehen wäre, dass alle Beiträge ausgelesen werden (anders kommst du nunmal nicht an die Nummer), dann wird so lange nach dem nächsten Beitrag des Benutzers x gesucht, bis es nicht mehr weiter geht (also der letzte erreicht wurde). Diese Zahl kannst du dann durch die Anzahl der Beiträge pro Seite teilen und aufrunden (nicht wie du gesagt hast abrunden! Zitat: Diese Zahl enthält vor dem Komma die Nummer der Seite), damit hättest du die Seitenzahl, die ID kannst du auch auslesen; kein Problem.

      Quellcode

      1. [FONT=courier new]while () {} // Auslesen der Beitragsnummer im Thema
      2. $perpage = 20; // Einträge pro Seite
      3. $postid = 51; // Nummer des Eintrags im Thread, oben ermittelt
      4. $page = ceil($postid / $perpage);[/FONT]


      Als Beispiel nehme ich jetzt das Thema "Seuche", es hat 6265 Beiträge. Allein das Auslesen dieses Themas (ID & User) würde ein riesiges Speicheraufkommen bedeuten, das die ohnehin schon angekratzte Performance dieses Servers total in die Knie zwingen würde!


      Die Ersetzung der Leerzeichen geschähe übrigens mit nur einem einzigen Ausdruck -.-'
      [php]preg_replace("/( {2,})/e", "' ' . str_repeat (' ', strlen('\1') - 1)", $code);[/php]


      Die Suche basiert auf einem völlig anderen Prinzip, das ist nicht vergleichbar!


      Und falls es dich interessiert, deine "Annahme" mit den Tabellen - sowohl Struktur als auch Suche - ist richtig, was am Prinzip jedoch nichts ändert.