Seite 1 von 1

Recent Topics HILFE

Verfasst: 02.04.2005 19:58
von Chocobo
Ich versuch schon seit einer Stunde die letzten 5topics auf meiner hauptseite anzeigen zu lassen aber ich schaff es nciht. Obwohl die Anleitung so leicht ausschaut.


Hack Title: Recent Topics (second version)
Hack Version: 2.2.3 (phpBB 2.0.x)
Author: Acid


Code: Alles auswählen

<?php
// ############         Edit below         ########################################
$topic_length = '30';	// length of topic title
$topic_limit = '5';	// limit of displayed topics
$special_forums = '0';	// specify forums ('0' = no; '1' = yes)
$forum_ids = '';		// IDs of forums; separate them with a comma

$config_path = 'http://web27.crazy-sponsoring.de/phpBB2/config.php';	// path to config.php
$root_path = 'http://web27.crazy-sponsoring.de/phpBB2/index.php';		// link path               <----hier bin ich mir nicht sicher ob das stimmt.
// ############         Edit above         ########################################

$path = dirname(__FILE__);
include_once($path.$config_path .'config.php');
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Unable to select server.');
mysql_select_db($dbname) OR die('Unable to select database.'); 

// ############## output ##############
echo '<table width="100%" cellpadding="1" cellspacing="1" border="0" align="center">
          <tr>
                <th colspan="2">'. $topic_limit .' last topics</th>
          </tr>';
// ############## output ##############

$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id IN ('. $forum_ids .') AND ';
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
	FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
	WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id
	ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";
$result = mysql_query($sql);
if( !$result )
{
	die('SQL Statement Error: '. mysql_error());
	exit();
}

$line = array();
while( $row = mysql_fetch_array($result) )
{
	$line[] = $row;
}

for( $i = 0; $i < count($line); $i++ )
{
	$forum_id = $line[$i]['forum_id'];
	$forum_url = $root_path .'viewforum.php?f='. $forum_id;
	$topic_id = $line[$i]['topic_id'];
	$topic_url = $root_path .'viewtopic.php?t='. $topic_id;

	$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

	$topic_type =  ( $line[$i]['topic_type'] == '2' ) ? 'Announcement ': '';
	$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Global Announcement ': '';
	$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Sticky ': '';
	$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Poll ': '';

	$views = $line[$i]['topic_views'];
	$replies = $line[$i]['topic_replies'];

	$first_time = date('d.m.Y', $line[$i]['topic_time']);
	$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&u='. $line[$i]['first_poster_id'] .'">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
	$last_time = date('d.m.Y', $line[$i]['post_time']);
	$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
	$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'">'. $last_author .'</a>';

	// ############## output ##############
	echo '<tr> 
                        <td valign="top" nowrap="nowrap">'. $topic_type .'<a href="'. $topic_url .'">'. $topic_title .'</a></td>
                    </tr>
                    <tr>
                        <td><a href="'. $forum_url .'">'. $line[$i]['forum_name'] .'</a>: '. $last_url .' '. $last_time .'</td>
                    </tr>';
	// ############## output ##############
}

echo '</table>';
mysql_close();
?>

Das is mein Source Code...der sollte ja stimmen oder???

Rauskommen tut jedenfalls das: *click*

Verfasst: 02.04.2005 22:23
von Markus67
Hi ...

suche in der recent.php

Code: Alles auswählen

$config_path = 'http://web27.crazy-sponsoring.de/phpBB2/config.php';   // path to config.php 
ersetze durch:

Code: Alles auswählen

$config_path = 'http://web27.crazy-sponsoring.de/phpBB2/';   // path to config.php 
Da steht: "Pfad zur config.php" :wink:

Markus

anderes problem

Verfasst: 01.09.2005 13:04
von Dragoneye
hallo zusammen, ich habe ein anderes problem ;o(

seit 2 wochen tritt sporadisch folgende Fehlermeldung auf:
could not obtain main information.

DEBUG MODE

SQL Error : 1 Can't create/write to file '/tmp/#sql_308_1.MYI' (Errcode: 17)

SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id
AS first_poster_id, u2.username AS last_poster, u2.user_id AS
last_poster_id, p.post_username AS first_poster_name, p2.post_username AS
last_poster_name, p2.post_time, pt.* FROM phpbb_topics t, phpbb_forums f,
phpbb_users u, phpbb_posts p, phpbb_posts p2, phpbb_users u2,
phpbb_posts_text pt WHERE t.forum_id NOT IN ('start') AND t.forum_id IN
(6,8,9,10,11,12,13,14,21,15,25,32,33) AND t.topic_poster = u.user_id AND
f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id
= t.topic_last_post_id AND u2.user_id = p2.poster_id AND
t.topic_last_post_id = pt.post_id ORDER BY t.topic_last_post_id DESC LIMIT 9

Line : 48
File : recent.php
folgende info kam von meinem provider
da es sich um Temp Tabellen handelt ist die Struktur verschlüsselt so das ich nicht sagen kann wozu diese gebraucht werden.

Ein Reparieren dieser Tabellen ist nicht möglich Sie können aber einmal beim Board Support anfragen wozu diese benötigt werden und ob der Fehler bekannt ist.
Meine Frage nun,

kann ich die Tabelle einfach löschen lassen oder muss ich etwas beachten ? bzw. welche Auswirkungen kann das haben ?

Wenn recent.php nicht included wird, dann tritt der Fehler nicht auf

Danke für die Hilfe

Dragnoneye