sub-forums delen met ander forum.

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 20 apr 2004, 19:56

ik zal eens bekijken hoe het allemaal afloopt..

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 28 apr 2004, 18:07

er schoot me net een geweldig idee binnen, en tada... het sub-forum is gedeeld!
half uurtje werk.

vergelijk
http://www.muziekforumonline.nl/phpBB2/ ... m.php?f=34
maar eens met
http://www.muziekforumonline.nl/FFO/viewforum.php?f=2

echter, de topics op FFO werken nog niet. (dat ben ik nog aan het maken.)
en de index klopt natuurlijk niet.

hoe ik het heb gedaan?
eigenlijk heel simpel.
op MFO is het forum_ id 34 en op FFO is het forum_id 2

nou, de php kenners snappen dan wel wat ik heb gedaan als je de volgende code bekijkt:

Code: Selecteer alles

if ($forum_id == '2')
{
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time 
	FROM phpbb_topics t, " . USERS_TABLE . " u, phpbb_posts p, phpbb_posts p2, " . USERS_TABLE . " u2
	WHERE t.forum_id = '34'
		AND t.topic_poster = u.user_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_type <> " . POST_ANNOUNCE . " 
		$limit_topics_time
	ORDER BY t.topic_type DESC, t.topic_last_post_id DESC 
	LIMIT $start, ".$board_config['topics_per_page'];
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
}
}
else
{
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time 
	FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2 
	WHERE t.forum_id = $forum_id
		AND t.topic_poster = u.user_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_type <> " . POST_ANNOUNCE . " 
		$limit_topics_time
	ORDER BY t.topic_type DESC, t.topic_last_post_id DESC 
	LIMIT $start, ".$board_config['topics_per_page'];
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
}
}
(het is misschien niet de netste code, maar het werkt hier alvast) :thumb:

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 28 apr 2004, 20:49

ik ben ondertussen de topics aan de gang aan het proberen te krijgen.
ik heb daarom het forum_id op FFO (die 2 was) veranderd naar 34.
zo zijn op beide fora hetzelfde wat weer wat code wijzingen scheelt.

echter, als ik nu een topic open op FFO krijg ik deze error:
phpBB : Fatale Fout

Error updating sessions table

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' session_topic = '0' WHERE session_id = 'b20147d509d963

UPDATE phpbb_sessions SET session_time = 1083181876, session_page = , session_topic = '0' WHERE session_id = 'b20147d509d963d811dc7dbdb6724929'

Line : 266
File : /usr/home/mfo/public_html/FFO/includes/sessions.php
wat is er fout?

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 28 apr 2004, 20:52

Als je topics van phpbb_ neemt moet je ook de berichten in dat forum van phpbb_ nemen. En omdat hij die niet kan vinden kan hij als topic id niets invullen waardoor session_page leegblijft.


ps: Wel een mooie oplossing in viewforum.php.

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 28 apr 2004, 20:55

dankje voor het compliment. :wink:

maar ik heb heel viewtopic aangepast. de stukjes codes dan die dubbel moesten.

echter, hij gaf eerst de melding aan dat het bericht niet bestond of zoiets.
daarom heb ik het forum_id ook veranderd.

hm... waar zit de fout dan....

//edit
ik zou dan zeggen hier: (lees de comment die er bij stond)
code verwijderd door P.T.
dat wat het niet volgens mij.
de gehele code (1546 regels): http://home.wanadoo.nl/musicpage/viewtopic.txt
//edit 2
elke topic (waar dan ook op FFO) werkt niet. overal dezelfde melding.
het zal dus denk ik wel nergens in een sql zitten.

verder nog een 2de vraag.
als ik hierna nog posting.php aanpas, dan is alles aangepast wat aangepast zou moeten worden of nog meer?

//edit 3
nog een vraag. hoe kun je een of gebruiken in een if statement. dus dat het forum_id of 34 is of 35.
ik dacht iets zoals dit: if ($forum_id == '34' || '35')
geen idee hoe hij precies moet.

//samenvatting.
wat zou er dan fout kunnen zijn dat hij alle topics niet kan openen?
wat moet er nog meer dan viewtopic, viewforum en posting worden aangepast?
hoe gebruik je of in een if statement?

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 29 apr 2004, 14:22

P.T. schreef: wat zou er dan fout kunnen zijn dat hij alle topics niet kan openen?
wat moet er nog meer dan viewtopic, viewforum en posting worden aangepast?
hoe gebruik je of in een if statement?
iemand?

zie evt: http://home.wanadoo.nl/musicpage/viewtopic.txt

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 30 apr 2004, 12:32

hm.. dan zal ik zeggen meer ff flink gaan zoeken.

maar even nog een andere vraag.

als je in de admin een nieuwe forum aan maakt, dan is het id automatisch 1 hoger dan de vorige.
maar, wordt dit opgeslagen, of kijkt hij gewoon al welk hoogste getal er bestaat?

dus als de vorige 34 was, en ik maak weer een nieuw forum aan. dan zal die 35 worden.

echter, als ik die 34 hernoem naar 100 en ik voeg dan een nieuw forum toe, wordt die dan 35 of 101?

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

Bericht door Luuk » 30 apr 2004, 17:08

bij de manier van het forum pakt hij het hoogste getal + 1 (dus bijvoorbeeld 34+1=35). Maar als het nummer dus 100 is (en 34 t/m 99 is "leeg") wodt het dus 100+1=101 :bier:
Afbeelding

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 05 mei 2004, 16:10

okee.. viewtopic.php ben ik nog aan het uitzoeken. (tips daarvoor zijn nog steeds welkom of misschien zelfs de oplossing :))

ik probeer echter nu ook de index gereed te maken.

ook op index.php gebruik ik weer de if ($forum_id == '50') constructie zoals ik hierboven ergens voor had gedaan.

echter, dan werkt hij toch nog niet. op de index worden dan niet het aantal berichten weergegeven en/of het laatste gepostte bericht.

ik heb al van alles zitten natrekken maar niets gevonden.
iemand die weet wat er nog meer veranderd moet worden?

http://www.muziekforumonline.nl/FFO/index.php

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 18 mei 2004, 14:20

vandaag weer even verder gegaan aan het project.
ik pak de index helemaal anders aan, maar helaas het werkt nog niet.
dus ben ik bang dat ik een foutje heb gemaakt of zo.

http://home.wanadoo.nl/musicpage/index.txt

alles tussen //BEGIN P.T. en //END P.T. heb ik toegevoegd. (staat er 2x.)
het is een stuk gekopieerd van andere code op de index, maar dan zijn er 2tjes toegevoegd ($forum_id2 == 51 bijvoorbeeld).
ook de index_body.tpl heb ik aangepast. maar geen resultaat.
wie wil even kijken en misschien wel oplossen?

http://home.wanadoo.nl/musicpage/index.txt

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

Bericht door Luuk » 20 mei 2004, 13:37

Code: Selecteer alles

WHERE f.forum_id = 50 OR f.forum_id = 51 OR f.forum_id = 52 OR f.forum_id = 53 OR f.forum_id = 54
AND f.cat_id = 2
Van dat stuk is denk ik het eerste overbodig, je wilt toch alles van CAT 2 laten zien? (misschien geeft die OR namelijk een probleem).



Weet het echt niet... probeer maar wat :roll:
Afbeelding

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 20 mei 2004, 13:51

laat maar. plan C staat op dit moment in de stijgers.
ik heb index2.php aangemaakt, overbodige code uitgesloopt en daar alleen de eerste categorie erin gebouwd.

http://www.muziekforumonline.nl/FFO/index2.php
dat is hij op dit moment. (page_header is er echter uitgesloopt, dus ik moet nog de css file erin zetten.)
echter, de pagina laad nogal langzaam.

wat zou het probleem kunnen zijn daarvan?

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

Bericht door Luuk » 20 mei 2004, 14:00

denk een hostings probleem... bij mij laadt ie gewoon snel
Afbeelding

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 20 mei 2004, 14:02

hm.. 40 sec of zo duurde het bij mij.
andere pagina's laden wel gewoon stel.

andere leden van mijn forum (crew) hadden ook lange laadtijd.

Gebruikersavatar
superman5000
Berichten: 741
Lid geworden op: 05 nov 2003, 09:51
Locatie: breda
Contacteer:

Bericht door superman5000 » 21 mei 2004, 12:46

bij mij laad die pagina binnen 2 seconden hoor.
ik weet niet of jij weer wat veranderd hebt :D
maar nu doed hij het heel snel.

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 21 mei 2004, 13:21

bij mij laad hij toch lang.

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 27 mei 2004, 09:53

na goed nadenken blijkt plan C ook niks te zijn en ondertussen is dus plan D in mijn hoofd geschoten.
nou, die is bijna klaar, alleen zit ik nog met een stukje code wat niet werkt:

Code: Selecteer alles

default:
			$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, u.user_level
				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 )
				ORDER BY  f.cat_id, f.forum_order";
			break;
heb ik omgetoverd naar dit:

Code: Selecteer alles

default:
			$sql = "SELECT f.*, ff.*, p.post_time, p.post_username, pp.post_time, pp.post_username, u.username, u.user_id, u.user_level
				FROM (( " . FORUMS_TABLE . " f, phpbb_forums ff 
				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 phpbb_posts pp ON p.post_id = ff.forum_last_post_id )
				LEFT JOIN " . USERS_TABLE . " u ON u.user_id = pp.poster_id )
				ORDER BY ff.cat_id, f.cat_id, ff.forum_order, f.forum_order";
			break;
maar dan krijg ik errors bij de laatste 2 left join.
wat is er fout?

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

Bericht door Luuk » 27 mei 2004, 14:32

misschien dit?

Code: Selecteer alles

default: 
         $sql = "SELECT f.*, ff.*, p.post_time, p.post_username, pp.post_time, pp.post_username, u.username, u.user_id, u.user_level 
            FROM (( " . FORUMS_TABLE . " f, phpbb_forums ff 
            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 phpbb_posts pp ON pp.post_id = ff.forum_last_post_id ) 
            LEFT JOIN " . USERS_TABLE . " uu ON uu.user_id = pp.poster_id ) 
            ORDER BY ff.cat_id, f.cat_id, ff.forum_order, f.forum_order"; 
         break;
Afbeelding

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 27 mei 2004, 14:48

zelfde error:

Code: Selecteer alles

Could not query forums information

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ') LEFT JOIN phpbb_users uu ON uu.user_id = pp.pos

SELECT f.*, ff.*, p.post_time, p.post_username, pp.post_time, pp.post_username, u.username, u.user_id, u.user_level FROM (( slave1_forums f, phpbb_forums ff LEFT JOIN slave1_posts p ON p.post_id = f.forum_last_post_id ) LEFT JOIN phpbb_users u ON u.user_id = p.poster_id ) LEFT JOIN phpbb_posts pp ON pp.post_id = ff.forum_last_post_id ) LEFT JOIN phpbb_users uu ON uu.user_id = pp.poster_id ) ORDER BY ff.cat_id, f.cat_id, ff.forum_order, f.forum_order

Line : 181
File : /usr/home/mfo/public_html/FFO/index.php

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

Bericht door Luuk » 27 mei 2004, 15:01

ah, denk dat ik het nu zie, in het originele bestand wordt dit zo geopent:

Code: Selecteer alles

FROM ((
en 2 keer afgesloten, je hebt het nu 4 keer afgesloten maar maar 2 keer geopent. Ik denk dat je er nog 2 (( bij moet zetten
Afbeelding

Gesloten