titel op index laatste post

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

titel op index laatste post

Bericht door Kaza » 02 jan 2005, 14:06

Ik heb de mod geinstalleerd, het werkt maar ikwil het toch een beetje anders.

Nu verwijst het linkje naar de laatste post maar dat doet het plaatje Afbeelding ook. Ik wil dus dat het linkje verwijst naar het begin van de topic. Zodat de bezoeker op de index al kan kiezen of hij naar het begin of laatste post gaat.
Dit is de regel:

Code: Selecteer alles

$last_post = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '" title="' . $topic_title2 . '">' . $topic_title . '</a><br>';
Greets. :thumb:
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 02 jan 2005, 14:28

Maar de kolom heet toch "Last Post"? Op mijn forum heb het plaatje gewoon verwijderd..

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 02 jan 2005, 15:22

Klein foutje in de code moet kunnen :oops:
Zoek

Code: Selecteer alles

	while( $row = $db->sql_fetchrow($result) )
	{
		$forum_data[] = $row;
	}
	$db->sql_freeresult($result);
Zet erachter

Code: Selecteer alles

	$sql = "SELECT t.topic_first_post_id AS forum_first_post_id
		FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
		WHERE p.post_id = " . $forum_data['forum_last_post_id'] . "
		    AND t.topic_id = p.topic_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query forum_first_post_id', '', __LINE__, __FILE__, $sql);
	}
	
	while( $row = $db->sql_fetchrow($result) )
	{
		$forum_data[] = $row;
	}
	$db->sql_freeresult($result);
Laatst gewijzigd door Luuk op 02 jan 2005, 22:17, 1 keer totaal gewijzigd.
Afbeelding

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Bericht door Kaza » 02 jan 2005, 17:33

Nee dat bedoel ik niet. Kijk even op mijn index bij laatste berichten (rechtekolom)
Daarin zie een topicnaam daarna de datum en dan diegene die het heeft gepost, gevolgd door het reply-icoontje.
Nu wil ik dat die topic-naam linkt naar het begin van de topic de rest staat goed.
In de regel hieronder geeft tie de link dus naar het laatste bericht en dat wil ik dus anders:

Code: Selecteer alles

$last_post = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '" title="' . $topic_title2 . '">' . $topic_title . '</a><br>';
Dus deze regel moet worden aangepast

Greets
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 02 jan 2005, 17:37

Luuk schreef:Als het goed is moet je dan forum_first_post_id kunnen gebruiken om de eerste post van het topic waar het laatst is gepost weer te geven.
Dus, na de aanpassing van Luuk:

Code: Selecteer alles

$last_post = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_first_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '" title="' . $topic_title2 . '">' . $topic_title . '</a><br>';

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Bericht door Kaza » 02 jan 2005, 17:42

OK we gaan het proberen :bier: :thumb:

edit: Helaas het werkt gedeeltelijk omdat ik niet meer dan http://www......viewtopic.php?p=# haal bestaat de topic dus niet.

Moet dus nog iets meer worden toegevoegd
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 02 jan 2005, 17:53

Heb je Luuk z'n stukje PHP wel toegevoegd??

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Bericht door Kaza » 02 jan 2005, 18:25

Dat stukje is veranderd door die mod:
Hier de verandering:

Code: Selecteer alles

$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id " .
			" FROM ((( " . FORUMS_TABLE . " f " .
			" LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )" .
			" LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ) " .
			" LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) " .
			" ORDER BY f.cat_id, f.forum_order";
		break;
	}
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
	}

	$forum_data = array();
	$topic_last_ary = array();
	$i=0;
	while( $row = $db->sql_fetchrow($result) )
	{
		if (!in_array($row['topic_last_post_id'], $topic_last_ary) || $row['topic_last_post_id']==0) {
			$topic_last_ary[i]=$row['topic_last_post_id'];
			$i++;
			$forum_data[] = $row;
		}
	}
	unset($topic_last_ary);
	if ( !($total_forums = count($forum_data)) )
	{
		message_die(GENERAL_MESSAGE, $lang['No_forums']);
	}
	
	//
	// Filter topic_title not allowed to read
	// 
	if ( !($userdata['user_level'] == ADMIN && $userdata['session_logged_in']) ) {
		$auth_read_all = array();
		$auth_read_all=auth(AUTH_READ, AUTH_LIST_ALL, $userdata, $forum_data);
		$auth_data = '';
		for($i=0; $i<count($forum_data); $i++)
		{
			if (!$auth_read_all[$forum_data[$i]['forum_id']]['auth_read']) {
				$forum_data[$i]['topic_title']='';
			}
		}
	}

	//
	// Define censored word matches
Dus weet even niet waar ik dit stukje moet plaatsen
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 02 jan 2005, 18:35

Zet het na

Code: Selecteer alles

   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
   } 

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Bericht door Kaza » 02 jan 2005, 18:41

Krijg nu deze melding:

Code: Selecteer alles

Could not query forum_first_post_id

DEBUG MODE

SQL Error : 1066 Not unique table/alias: 'f'

SELECT t.topic_first_post_id AS forum_first_post_id FROM phpbb_topics f, phpbb_posts f WHERE p.post_id = AND t.topic_id = p.topic_id

Line : 186
File : /home/httpd/vhosts/kazango.nl/httpdocs/forum/index.php
regel 186:

Code: Selecteer alles

        message_die(GENERAL_ERROR, 'Could not query forum_first_post_id', '', __LINE__, __FILE__, $sql);
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 02 jan 2005, 18:52

Haal die f eens weg, op twee plaatsen:
phpbb_topics f, phpbb_posts f

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Bericht door Kaza » 02 jan 2005, 19:07

Die F verwijderen werkte niet, die zal die wel nodig hebben aangezien het daar mee vol staat.
Ik denk zelf dat hier het een en ander moet worden aangepast:

Code: Selecteer alles

$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id " . 
         " FROM ((( " . FORUMS_TABLE . " f " . 
         " LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )" . 
         " LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ) " . 
         " LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) " . 
         " ORDER BY f.cat_id, f.forum_order"; 
      break;
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 02 jan 2005, 22:18

Luuk schreef:Klein foutje in de code moet kunnen :oops:
Zoek

Code: Selecteer alles

	while( $row = $db->sql_fetchrow($result) )
	{
		$forum_data[] = $row;
	}
	$db->sql_freeresult($result);
Zet erachter

Code: Selecteer alles

	$sql = "SELECT t.topic_first_post_id AS forum_first_post_id
		FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
		WHERE p.post_id = " . $forum_data['forum_last_post_id'] . "
		    AND t.topic_id = p.topic_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query forum_first_post_id', '', __LINE__, __FILE__, $sql);
	}
	
	while( $row = $db->sql_fetchrow($result) )
	{
		$forum_data[] = $row;
	}
	$db->sql_freeresult($result);
Vaag, dacht toch echt dat ik mijn vorige post gequote had en niet gewijzigt. Dan maar zo :wink:
Afbeelding

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Bericht door Kaza » 02 jan 2005, 22:40

Dit levert deze error op:

Code: Selecteer alles

Could not query forum_first_post_id

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near 'AND t.topic_id = p.topic_id' at line 4

SELECT t.topic_first_post_id AS forum_first_post_id FROM phpbb_topics t, phpbb_posts p WHERE p.post_id = AND t.topic_id = p.topic_id

Line : 186
File : /home/httpd/vhosts/kazango.nl/httpdocs/forum/index.php
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 02 jan 2005, 23:32

Ik zie dat jouw mod wat heeft aangepast in de namen...
Ik denk dat het dan zo al kan:
Zet achter

Code: Selecteer alles

SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id
, t.topic_last_post_id

Als het goed is moet je dan topic_last_post_id kunnen gebruiken :roll:
Afbeelding

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Bericht door Kaza » 02 jan 2005, 23:37

je bedoeld waarschijnlijk

, t.topic_first_post_id

Of heb ik het nou verkeerd? , t.topic_last_post_id staat er namelijk al.
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

Gebruikersavatar
Kaza
Berichten: 604
Lid geworden op: 13 sep 2003, 07:46
Locatie: Rotterdam
Contacteer:

Bericht door Kaza » 03 jan 2005, 11:38

Het is toch lastiger dan gedacht :? Het bovenstaande geeft ook niet het beoogde effect.
Kan ook geheel niks vinden op diverse andere websites hierover. Heb de maker gemailt en hij had ook nog nooit die vraag gehad. Dus ben nog steeds zoekende naar een oplossing :D Wie?
Last edited by Kazango on Sat sep 23, 2004 6:35 am; edited 458 times in total

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 06 jan 2005, 10:17

Probeer eens:

Code: Selecteer alles

$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id, t2.topic_first_post_id " .
         " FROM (((( " . FORUMS_TABLE . " f " .
         " LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )" .
         " LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ) " .
         " LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) " .
		 " LEFT JOIN " . TOPICS_TABLE . " t2 ON t2.topic_id = p.topic_id ) " .
         " ORDER BY f.cat_id, f.forum_order";
      break;
   }
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
   }
Bij mij op localhost werkt het, maar met die mod erbij ben ik niet zeker.
Je zou topic_first_post_id moeten kunnen gebruiken.
Afbeelding

Gesloten