Top 25 berichten (eerste mod van mij)
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.

Top 25 berichten (eerste mod van mij)
Hallo iedereen.
Ben vandaag ff bezig geweest en heb voor het eerst een stuk voor phpbb gemaakt met behulp van een tamplate. Hopelijk vinden jullie het wat.
http://www.reev.nl/top25mod.zip
Als jullie hulp nodig hebben moet je het even zeggen, maar ik denk dat het wel duidelijk is.
Ben vandaag ff bezig geweest en heb voor het eerst een stuk voor phpbb gemaakt met behulp van een tamplate. Hopelijk vinden jullie het wat.
http://www.reev.nl/top25mod.zip
Als jullie hulp nodig hebben moet je het even zeggen, maar ik denk dat het wel duidelijk is.
- WebSiteNet
- Berichten: 6524
- Lid geworden op: 20 okt 2003, 16:56
- Locatie: Wieringerwerf
- Contacteer:
-
- Berichten: 521
- Lid geworden op: 29 jan 2004, 22:41
- Contacteer:
http://www.forum.stophier.nl/viewtop25.php
i heb hem maar er eens gezet
maar dan krijg je een leuke fout melding
i heb hem maar er eens gezet
maar dan krijg je een leuke fout melding

-
- Berichten: 521
- Lid geworden op: 29 jan 2004, 22:41
- Contacteer:
Owh das waar ookMandrake Linux schreef:http://www.forum.stophier.nl/viewtop25.php
i heb hem maar er eens gezet
maar dan krijg je een leuke fout melding
Bij mij staat de table prefix op forum_ :$, en niet op phpbb_. Moet je de query's ff veranderen.
PS: Nu snap ik ook wat "constants.php" doet onderaan met al die tabellen

-
- Berichten: 521
- Lid geworden op: 29 jan 2004, 22:41
- Contacteer:
okSennA schreef:Owh das waar ookMandrake Linux schreef:http://www.forum.stophier.nl/viewtop25.php
i heb hem maar er eens gezet
maar dan krijg je een leuke fout melding
Bij mij staat de table prefix op forum_ :$, en niet op phpbb_. Moet je de query's ff veranderen.
PS: Nu snap ik ook wat "constants.php" doet onderaan met al die tabellen.
w8ff
-
- Berichten: 521
- Lid geworden op: 29 jan 2004, 22:41
- Contacteer:
Misschien als je dit in viewtop25.php vervangt:
Code: Selecteer alles
$sql2 = "SELECT * FROM ".$table_prefix."posts_text ORDER BY CHAR_LENGTH(post_text) DESC LIMIT 26";
if( !$result = $db->sql_query($sql2) )
{
message_die(GENERAL_ERROR, "Kon top25 data niet verkrijgen", "", __LINE__, __FILE__, $sql2);
}
$top_count = $db->sql_numrows($result);
$top_rows = $db->sql_fetchrowset($result);
for($i = 1; $i < $top_count; $i++)
{
$lengtebericht = strlen($top_rows[$i]['post_text']);
$post_id = $top_rows[$i]['post_id'];
$sql = mysql_query("SELECT * FROM ".$table_prefix."posts WHERE post_id='".$post_id."'");
$list = mysql_fetch_object($sql);
$sql3 = mysql_query("SELECT * FROM ".$table_prefix."topics WHERE topic_id='".$list->topic_id."'");
$show = mysql_fetch_object($sql3);
$topic = $show->topic_title;
$sql4 = mysql_query("SELECT * FROM ".$table_prefix."users WHERE user_id='".$list->poster_id."'");
$record = mysql_fetch_object($sql4);
$auteur = $record->username;
-
- Berichten: 521
- Lid geworden op: 29 jan 2004, 22:41
- Contacteer:
Dit:Mandrake Linux schreef:....
met wat
:S
Code: Selecteer alles
$sql2 = "SELECT * FROM forum_posts_text ORDER BY CHAR_LENGTH(post_text) DESC LIMIT 26";
if( !$result = $db->sql_query($sql2) )
{
message_die(GENERAL_ERROR, "Kon top25 data niet verkrijgen", "", __LINE__, __FILE__, $sql2);
}
$top_count = $db->sql_numrows($result);
$top_rows = $db->sql_fetchrowset($result);
for($i = 1; $i < $top_count; $i++)
{
$lengtebericht = strlen($top_rows[$i]['post_text']);
$post_id = $top_rows[$i]['post_id'];
$sql = mysql_query("SELECT * FROM forum_posts WHERE post_id='".$top_rows[$i]['post_id']."'");
$list = mysql_fetch_object($sql);
$sql3 = mysql_query("SELECT * FROM forum_topics WHERE topic_id='".$list->topic_id."'");
$show = mysql_fetch_object($sql3);
$topic = $show->topic_title;
$sql4 = mysql_query("SELECT * FROM forum_users WHERE user_id='".$list->poster_id."'");
while($record = mysql_fetch_object($sql4))
$auteur = $record->username;
Code: Selecteer alles
$sql2 = "SELECT * FROM ".$table_prefix."posts_text ORDER BY CHAR_LENGTH(post_text) DESC LIMIT 26";
if( !$result = $db->sql_query($sql2) )
{
message_die(GENERAL_ERROR, "Kon top25 data niet verkrijgen", "", __LINE__, __FILE__, $sql2);
}
$top_count = $db->sql_numrows($result);
$top_rows = $db->sql_fetchrowset($result);
for($i = 1; $i < $top_count; $i++)
{
$lengtebericht = strlen($top_rows[$i]['post_text']);
$post_id = $top_rows[$i]['post_id'];
$sql = mysql_query("SELECT * FROM ".$table_prefix."posts WHERE post_id='".$post_id."'");
$list = mysql_fetch_object($sql);
$sql3 = mysql_query("SELECT * FROM ".$table_prefix."topics WHERE topic_id='".$list->topic_id."'");
$show = mysql_fetch_object($sql3);
$topic = $show->topic_title;
$sql4 = mysql_query("SELECT * FROM ".$table_prefix."users WHERE user_id='".$list->poster_id."'");
$record = mysql_fetch_object($sql4);
$auteur = $record->username;
Code: Selecteer alles
$sql4 = mysql_query("SELECT * FROM forum_users WHERE user_id='".$list->poster_id."'");
while($record = mysql_fetch_object($sql4))
$auteur = $record->username;
-
- Berichten: 521
- Lid geworden op: 29 jan 2004, 22:41
- Contacteer:
- WebSiteNet
- Berichten: 6524
- Lid geworden op: 20 okt 2003, 16:56
- Locatie: Wieringerwerf
- Contacteer:
Allereerst raad ik je aan de officiële MOD template te gebruiken, net als een kloppend versie nummer. Neem voor dat en andere handige tutorials eens een kijkje in de phpbb.com knowledge database:
http://www.phpbb.com/kb/list_articles.php?category_id=7
Verder nog wat tips voor je mod:
http://www.phpbb.com/kb/list_articles.php?category_id=7
Verder nog wat tips voor je mod:
- Geef een $page_title op voor je de header include, dan krijgt je pagina een titel
- Gebruik de constanten voor je tabelnamen, dus
in plaats vanCode: Selecteer alles
"SELECT * FROM " . POSTS_TEXT_TABLE . "
je bent dan ook van het prefix probleem afCode: Selecteer alles
"SELECT * FROM forum_posts_text
- Je begint je for() loop met 1, en geeft daarom een SQL limit aan van 26, ipv 25. Als je de het middelste stuk van je loop nu met een <= vergelijking schrijft kan de limit wel 25 blijven.
- Waarom heb je een compleet deel van de pagina er dubbel in staan, de tweede keer tussen comments? Je zal het vast nodig gehad hebben bij het testen, maar let hier wel op als je de mod online zet voor het publiek.
- Je gebruikt 4 query's waar je met ééntje genoeg hebt.
Code: Selecteer alles
SELECT u.user_id, u.username, t.topic_title, pt.post_text FROM " . USERS_TABLE . " u, " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " pt WHERE pt.post_id = p.post_id AND p.topic_id = t.topic_id AND t.topic_poster = u.user_id ORDER BY CHAR_LENGTH(post_text) DESC LIMIT 26;
- Voor query 3 vraag je de gegevens opeens op met mysql_fetch_object(), waarom? Ook moet je consequent met het $db object werken, dus zoals je dat bij query 2 hebt gedaan.
- Je begint en eindigt 3 keer een <? .. ?> PHP gedeelte, dit is onnodig omdat het allemaal PHP is en het veroorzaakt onnodige spaties en returns in je source. Als je zou werken met cookie functies zou het je zelfs fatale errors opleveren.
- In het onderste stuk schrijf je een HTML tabel in je PHP bestand, doe dit met je template.
- Maak links van de usernames, aan de hand van het user_id uit de query.
- Schrijf je links, zoals die naar viewtopic, in je PHP bestand en haal ze eerst door append_sid(). Maak ook gebruik van $phpEx en de constante POST_POST_URL voor p=.
- Ik zie in een van de onderste comments een http://www.reev.nl/forum/ url. Slordig!
Heb er even gekeken en heb er voor mijn mod wat van af gehaald, zul je wel zien.mosymuis schreef:Allereerst raad ik je aan de officiële MOD template te gebruiken, net als een kloppend versie nummer. Neem voor dat en andere handige tutorials eens een kijkje in de phpbb.com knowledge database:
http://www.phpbb.com/kb/list_articles.php?category_id=7
Heb ik gedaan zoals je kan zien.mosymuis schreef: Verder nog wat tips voor je mod:
- Geef een $page_title op voor je de header include, dan krijgt je pagina een titel
- Gebruik de constanten voor je tabelnamen, dus
in plaats vanCode: Selecteer alles
"SELECT * FROM " . POSTS_TEXT_TABLE . "
je bent dan ook van het prefix probleem afCode: Selecteer alles
"SELECT * FROM forum_posts_text
Heb ik niet gedaan want dan klopt het niet meer.mosymuis schreef: [*] Je begint je for() loop met 1, en geeft daarom een SQL limit aan van 26, ipv 25. Als je de het middelste stuk van je loop nu met een <= vergelijking schrijft kan de limit wel 25 blijven.
Had ik er idd in gezet om te testen. Was ik even vergeten maar is nu weg gehaald.mosymuis schreef: [*] Waarom heb je een compleet deel van de pagina er dubbel in staan, de tweede keer tussen comments? Je zal het vast nodig gehad hebben bij het testen, maar let hier wel op als je de mod online zet voor het publiek.
Voor de rest heb ik al je tips gebruikt, en code werkt nu idd goed. TNXmosymuis schreef: [*] Je gebruikt 4 query's waar je met ééntje genoeg hebt.
[*] Voor query 3 vraag je de gegevens opeens op met mysql_fetch_object(), waarom? Ook moet je consequent met het $db object werken, dus zoals je dat bij query 2 hebt gedaan.Code: Selecteer alles
SELECT u.user_id, u.username, t.topic_title, pt.post_text FROM " . USERS_TABLE . " u, " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " pt WHERE pt.post_id = p.post_id AND p.topic_id = t.topic_id AND t.topic_poster = u.user_id ORDER BY CHAR_LENGTH(post_text) DESC LIMIT 26;
[*] Je begint en eindigt 3 keer een <? .. ?> PHP gedeelte, dit is onnodig omdat het allemaal PHP is en het veroorzaakt onnodige spaties en returns in je source. Als je zou werken met cookie functies zou het je zelfs fatale errors opleveren.
[*] In het onderste stuk schrijf je een HTML tabel in je PHP bestand, doe dit met je template.
[*] Maak links van de usernames, aan de hand van het user_id uit de query.
[*] Schrijf je links, zoals die naar viewtopic, in je PHP bestand en haal ze eerst door append_sid(). Maak ook gebruik van $phpEx en de constante POST_POST_URL voor p=.
[*] Ik zie in een van de onderste comments een http://www.reev.nl/forum/ url. Slordig![/list]
Honger, das het ergste wat er is.