Seite 1 von 1

[suche] beiträge seid letztem besuch

Verfasst: So 17.Jul, 2005 23:24
von Lizar
hi leute!

ich suche ein schnipsel wo ich die beiträge seid dem letzten besuch auf bestimmte foren begrenzen kann. ich habe ein rss newsfeed skript mit mehreren newsfeeds und da kommen am tag sehr viele news auf mein board. ich möchte die beiträge aber nicht als neue beiträge anzeigen lassen unter dem link.
habe es bereits geschafft, dem newsbot den postingcount für die foren auszustellen aber ich hab noch nicht den code gefunden wo ich die beiträge für foren einstellen könnte.

danke schonmal im vorraus!

Verfasst: Mo 18.Jul, 2005 08:24
von oxpus

Code: Alles auswählen

#
#-----[ OPEN ]------
#
index.php

#
#-----[ FIND ]-----
#
	//
	// Obtain a list of topic ids which contain
	// posts made since user last visited
	//
	if ( $userdata['session_logged_in'] )
	{
		$sql = "SELECT t.forum_id, t.topic_id, p.post_time 
			FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p 
			WHERE p.post_id = t.topic_last_post_id 
				AND p.post_time > " . $userdata['user_lastvisit'] . " 
				AND t.topic_moved_id = 0"; 

#
#-----[ AFTER, ADD ]-----
#
		$expect_forum_id = '1,2,3'; // Set here the forum_ids which should not be displayed as new
		$sql .= " AND t.forum_id NOT IN ($expect_forum_id)";

#
#-----[ OPEN ]-----
#
search.php

#
#-----[ FIND ]-----
#
			if ( $search_id == 'newposts' )
			{
				if ( $userdata['session_logged_in'] )
				{
					$sql = "SELECT post_id 
						FROM " . POSTS_TABLE . " 
						WHERE post_time >= " . $userdata['user_lastvisit'];

#
#-----[ AFTER, ADD ]-----
#
					$expect_forum_id = '1,2,3'; // Set here the forum_ids which should not be displayed as new
					$sql .= " AND t.forum_id NOT IN ($expect_forum_id)";


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM

Verfasst: Mo 18.Jul, 2005 20:03
von Lizar
suuuuuuuuuuuuuper!!! danke dir man bist du schnell. hab ich nirgends gefunden!

EDIT: ich bekomme einen fehler wenn ich das so eingebe
hab alles hochgeladen und es werden auf dem portal immer noch die neuen beiträge gezählt. wenn ich auf den link klicke kommt folgendes:

Could not obtain matched posts list

DEBUG MODE

SQL Error : 1109 Unknown table 't' in where clause

SELECT post_id FROM orion_posts WHERE post_time >= 1121710152 AND t.forum_id NOT IN (15,17,18)

Line : 238
File : search.php

Verfasst: Mo 18.Jul, 2005 20:34
von oxpus
Oh ja, sorry.
Ändere

Code: Alles auswählen

$sql .= " AND t.forum_id NOT IN ($expect_forum_id)";
in

Code: Alles auswählen

$sql .= " AND forum_id NOT IN ($expect_forum_id)";
ab.

Verfasst: Mo 18.Jul, 2005 22:25
von Lizar
hi, jetzt kommt bei mir ein fehler wenn ich auf das forum gehen möchte

Could not query new topic information

DEBUG MODE

SQL Error : 1052 Column: 'forum_id' in where clause is ambiguous

SELECT t.forum_id, t.topic_id, p.post_time FROM orion_topics t, orion_posts p WHERE p.post_id = t.topic_last_post_id AND p.post_time > 1121717714 AND t.topic_moved_id = 0 AND forum_id NOT IN (15,17,18)

Line : 200
File : index.php



EDIT:
ich habe jetzt so wie du sagtest das nur in der search.php geändert und dann geht die forenanzeige wieder. ABER, jetzt zeigt er wieder die anzahl an neuen beiträgen an, wenn ich drauf klicke sagt er "Keine Beiträge entsprechen deinen Kriterien." das ist nicht das was ich möchte.

ALSO: er zeigt zwar noch die anzahl an, aber wenn man auf den link klickt kommen nur die beiträge aus den anderen foren, nicht aus dennen die newsfeeds stammen.

Verfasst: Mo 18.Jul, 2005 22:57
von AmigaLink
So muss:

Code: Alles auswählen

$sql .= " AND forum_id NOT IN ('$expect_forum_id')";
:D

Mach den eintrag in der index.php auch wieder und nimm diese Codezeile hier. Dann müsste eigentlich alles so sein wie du das möchtest. :)

Verfasst: Mo 18.Jul, 2005 23:17
von Lizar
funktioniert jetzt alles :) war ne schwere geburt :)

Verfasst: Mo 18.Jul, 2005 23:42
von AmigaLink
war ne schwere geburt
Nö, nicht wirklich. ;)