Philipp Hasenfratz: Wert auslesen, vergleichen und Adresse ausgeben.

Beitrag lesen

Halihallo Marcel

Bei der Realisierung bin ich einer Person ganz besonders dankbar. Diese Person heißt Philipp Hasenfratz. Warscheinlich sagt einigen von euch dieser Name etwas. Er hat nur indirekt mit meiner Frage zu tun, da er dieses Script inclusive Statistik für mich programmiert hat. Das musste einfach mal gesagt werden. Danke Philipp.

Danke für die Blumen :-)

Jetzt würde ich gerne die Kommentarfunktion erweitern. Da die Treffpage mittlerweile ziemlich gut besucht ist, und auch die kommentarmöglichkeit häufig genutzt wird, sind in den letzten Monaten schon über 700 Kommentare zusammengekommen.

Ei, ei, ei, also wenn das so weitergeht, sollte ich vielleicht mal eine richtig
gute Version davon programmieren, ich schäme mich nämlich etwas für das Script...
Ich glaube, dass wäre ich mir selber schuldig...

Bei so vielen Kommentaren (und Bildern) ist es nicht leicht immer den überblick zu behalten, wo jetzt die neusten Kommentare abgegeben wurden. Es wäre super für die übersicht, wenn irgendwo auf der seite dynamisch Links zu den letzten 10 Bildern, die kommentiert wurden, angezeigt würden.

Also: die pages.log, wie du selbst sagst, enthält jeweils die "comment_id" des Kommentars
und die Zeit als Unix Timestamp, wann er gepostet wurde...
Du bräuchtest also ein Script, welches diese Datei pages.log einliest und verarbeitet.
Genauer liesse sich die Verarbeitung wie folgt beschreiben:

- Linie einlesen
 - In comment_id und timestamp splitten => perldoc -f split
 - Ein Hash verwalten, der jeweils zu einer comment_id die Zeit vom letzten Post
   speichert.

if ($hash{$comment_id} < $current_timestamp) {$hash{$comment_id}=$current_timestamp}

Mit diesem kleinen Trick wird nur der jeweils letzte Post zu
   einer "Kommentarmöglichkeit" gespeichert => es könnte ja sein, dass die letzten
   Kommentare alle zum selben Kommentarfeld gemacht wurden und dann soll ja nicht
   10x die selbe Seite ausgegeben werden...

- dann lässt du dir die values des hashes sortieren
   perldoc -f values
   perldoc -f sort

- Tja, dann nimmst du die ersten 10 Werte aus dem sortierten Array mit den letzten
   10 Zeiten der Posts und suchst die entsprechende Comment im Hash.

- Ist zwar eine üble Umsetzung, aber iteriere einfach über den Hash mit
     "perldoc -f each" und überprüfe, ob die Zeit im Hash mit der Zeit aus dem aktuellen
     Array-Element übereinstimmt. Wenn ja => Link ausgeben, denn dann haben wir ein
     Top-10 Kommentar gefunden.

- Dann der _entsprechende_ Link aus pages.txt auslesen und Link ausgeben.

Na? - Hoffe, dass dir das etwas hilft.

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.