Board-Announcements anzeigen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

ok ich habs geschafft,er zeigt den letzen Beitrag an,inkl. Username und Datum *freu*

nur zeigt er jetzt jedes Announcement doppelt an :-?

hier ist der aktuelle Code:

Code: Alles auswählen

		//
		// Get Announcement Topic Data
		//

$sql = "SELECT * 
            FROM phpbb_topics t, phpbb_forums f, phpbb_users u
            WHERE topic_type = 2 AND t.forum_id = f.forum_id 
            ORDER BY t.topic_time DESC 
            LIMIT 5"; 

		$result = mysql_query($sql);

		//
		// Put Announcement Data in variables
		//
		
		while($row = mysql_fetch_array( $result ))
		{

			$atopictitle = $row['topic_title'];
			$atopicreplies = $row['topic_replies'];
			$atopicposttime = $row['topic_time'];
			$atopicviews = $row['topic_views'];
			$atopicid = $row['topic_id'];
			$atopicforum = $row['forum_name'];
			$atopiclastpostid = $row['topic_last_post_id'];

			$sql2 = "SELECT *
				FROM phpbb_posts
				WHERE post_id = $atopiclastpostid";
			$result2 = mysql_query($sql2);

			while ($row = mysql_fetch_array( $result2 ))
			{  
			$atopiclastpostuserid = $row['poster_id'];
			$atopiclastposttime = $row['post_time'];
			$atopiclastposttime2 = date ("d.m.Y", $atopiclastposttime); 
			}

			$sql = "SELECT *
				FROM phpbb_users
				WHERE user_id = $atopiclastpostuserid";
			$result3 = mysql_query($sql);

			while ($row = mysql_fetch_array ( $result3 ))
			{
			$atopiclpauthor = $row['username'];
			}

			$template->assign_block_vars('announcement', array(
				'ATOPICID' => $atopicid,
				'ATOPICTITLE' => $atopictitle, 
				'ATOPICPOSTTIME' => $posttime2,
				'ATOPICREPLIES' => $atopicreplies,
				'ATOPICVIEWS' => $atopicviews,
				'ATOPICFORUM' => $atopicforum,
				'ATOPICUID' => $atopiclastpostuserid,
				'ATOPICLPID' => $atopiclastpostid,
				'ATOPICLPAUTHOR' => $atopiclpauthor,
				'ATOPICLASTPOSTTIME' => $atopiclastposttime2
				));
		}				
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

Hast du den Code zufällig doppelt in die Datei eingefügt ?

Markus
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

hoi Markus,

nein ist nur einmal vorhanden :roll:

mfg Johny
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

auch nicht in der entsprechenden tpl-Datei ?`

Hast du denn mal einen Link zum Forum ?

Markus
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

so steht es in der TPL-Datei:

Code: Alles auswählen

<!-- BEGIN announcement -->
<tr>
<td width="25"><img src="templates/subRed/images/folder_announce.gif"></td>
<td><span class="gensmall"><a href="viewtopic.php?t={announcement.ATOPICID}" class="nav">{announcement.ATOPICTITLE}</a></span></td>
<td><span class="gensmall">{announcement.ATOPICVIEWS}</span></td>
<td><span class="gensmall">{announcement.ATOPICREPLIES}</span></td>
<td><span class="gensmall"><a href="viewforum.php?f={announcement.ATOPICFORUMID}" class="nav">{announcement.ATOPICFORUM}</a></span></td>
<td><span class="gensmall"><a href="usercp_viewprofile.php?u={announcement.ATOPICUID}" class="gensmall">{announcement.ATOPICLPAUTHOR}</a><br><a href="viewtopic.php?t={announcement.ATOPICID}#{announcement.ATOPICLASTPOSTID}" class="gensmall"><img src="templates/subred/images/icon_latest_reply" border="0">{announcement.ATOPICLASTPOSTTIME}</a></span></td>
</tr>
<!-- END announcement -->
als einziges...ich habe auf phpBB.com auf meine Frage einen Link bekommen,aber ich versteh das irgendwie nicht...

http://www.phpbb.com/phpBB/viewtopic.php?t=200397

vielleicht kann sich das ja mal jemand anschauen :roll:
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

ok ich raff es nicht...

hab mal n Screen gemacht wie es zur Zeit aussieht:

http://www.plauderclub.de/announcementlist.jpg

der Code:

Code: Alles auswählen

	//
	// Let's do some SQL-queries to get all necessary Userdata for the stats view 
	//
		
		//
		// Read Board Announcements & Poster Data & User Data
		//

		$sql = "SELECT * 
   			FROM phpbb_topics t, phpbb_forums f, phpbb_users u
   			WHERE t.topic_type = 2 AND t.forum_id = f.forum_id 
   			ORDER BY t.topic_time DESC 
   			LIMIT 5"; 

		$result = mysql_query($sql);

		//
		// Put Announcement Data in variables
		//
		
		$AnnouncementList = array();
 
		while ($row = $db->sql_fetchrow($result) ) 
		{
		$AnnouncementList['Titel'] = $row['topic_title'];
		$AnnouncementList['Antworten'] = $row['topic_replies'];
		$AnnouncementList['Zeit'] = $row['topic_time'];
		$AnnouncementList['Views'] = $row['topic_views'];
		$AnnouncementList['ID'] = $row['topic_id'];
		$AnnouncementList['Forum'] = $row['forum_name'];
		$AnnouncementList['LastPostId'] = $row['topic_last_post_id'];
		
		$sql2="SELECT phpbb_users.user_id, phpbb_posts.post_id 
			FROM phpbb_posts, phpbb_topics
			LEFT  JOIN phpbb_users ON phpbb_posts.poster_id = phpbb_users.user_id 
			WHERE ( ( phpbb_users.user_id = phpbb_topics.topic_poster ) AND ( phpbb_posts.post_id = phpbb_topics.topic_last_post_id ) )";
		$result2 = mysql_query($sql2);
		$poster_id = $row['poster_id'];

			while ($row = $db->sql_fetchrow($result2))
			{
			$AnnouncementList['poster_id'] = $poster_id;
			$AnnouncementList['post_time'] = $row['post_time'];
			$AnnouncementList['post_time2'] = date ("d.m.Y", $row['post_time']);
			}

			$sql = "SELECT *
				FROM phpbb_users
				WHERE u.user_id = $poster_id";
			$result3 = mysql_query($sql);

			while ($db->sql_fetchrow($result3))
			{
			$AnnouncementList['username'] = $row['username'];
			}

			$template->assign_block_vars('announcement', array(
				'ATOPICID' => $AnnouncementList['ID'],
				'ATOPICTITLE' => $AnnouncementList['Titel'], 
				'ATOPICPOSTTIME' => $AnnouncementList['Zeit'],
				'ATOPICREPLIES' => $AnnouncementList['Antworten'],
				'ATOPICVIEWS' => $AnnouncementList['Views'],
				'ATOPICFORUM' => $AnnouncementList['Forum'],
				'ATOPICUID' => $AnnouncementList['poster_id'],
				'ATOPICLPID' => $AnnouncementList['LastPostId'],
				'ATOPICLPAUTHOR' => $AnnouncementList['Username'],
				'ATOPICLASTPOSTTIME' => $AnnouncementList['post_time2']
				));
		}
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

so...nach dem Einholen einiger Tipps habe ich die Anzeige ein weiteres Mal zerstört :roll:

Es wird jetzt wieder nur ein Announcement angezeigt und zwar das neuste.
Datum,Uhrzeit und Autor des letzen Beitrages werden gar nicht mehr angezeigt :roll:

wer weiß Rat?

Code: Alles auswählen


$sql = "
SELECT t.topic_id, t.topic_title, t.topic_replies,
DATE_FORMAT(t.topic_time, '%d.%m.%Y') AS topic_time,
t.topic_views, t.topic_last_post_id, f.forum_name, t.forum_id, p.poster_id
FROM phpbb_topics t, phpbb_forums f, phpbb_posts p
WHERE t.topic_type = 2
AND t.forum_id = f.forum_id
ORDER BY t.topic_time DESC
LIMIT 5";

$result = mysql_query($sql);

//
// Put Announcement Data in variables
//

while( $row = $db->sql_fetchrow($result))
{
$sql = " SELECT p.poster_id, DATE_FORMAT(p.post_time, %d.%m.%Y) AS post_time, u.user_name
FROM
phpbb_posts p, phpbb_users u
WHERE
p.post_id = ".$row['topic_last_post_id']."
AND u.user_id = p.poster_id";

$result = mysql_query($sql);

$template->assign_block_vars(
'announcement', array(
'ATOPICID' => $row['topic_id'],
'ATOPICTITLE' => $row['topic_title'], 
'ATOPICPOSTTIME' => $row['topic_time'],
'ATOPICREPLIES' => $row['topic_replies'],
'ATOPICVIEWS' => $row['topic_views'],
'ATOPICFORUM' => $row['forum_name'],
'ATOPICUID' => $row['topic_last_post_id'],
'ATOPICLPID' => $row['topic_poster_id'],
'ATOPICLPAUTHOR' => $row['user_name'],
'ATOPICLASTPOSTTIME' => $row['post_time']
));
}
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Antworten

Zurück zu „Coding & Technik“