login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Snippets > Top posters per forum voor phpBB

Top posters per forum voor phpBB

Auteur: LuckyLuke - 23 september 2004 - 17:59 - Gekeurd door: Dennisvb - Hits: 1954 - Aantal punten: 4.00 (1 stem)



Weer een klein scriptje voor phpBB
Deze keer haalt het de top posters per een bepaald forum.
Plaats het gewoon in je phpBB map en hij doet het!

Code:
  1. <html>
  2.  
  3. <head>
  4. <title></title>
  5. <link rel="stylesheet" href="style.css">
  6. </head>
  7.  
  8. <body>
  9. <font class="font">
  10. <?php
  11. include("config.php");
  12. mysql_connect($dbhost, $dbuser, $dbpasswd);
  13. mysql_select_db($dbname);
  14. if(isset($_GET['forumid'])) {
  15. if(!is_numeric($_GET['forumid'])) {
  16. echo "Het opgeven forum id is niet geldig";
  17. }
  18. if(isset($_GET['show'])) {
  19. if($_GET['show'] != "") {
  20. if(!is_numeric($_GET['show'])) {
  21. echo "Ingevoerde waarde niet geldig";
  22. }
  23. }
  24. $limit = $_GET['show'];
  25. }
  26. if(!isset($_GET['show']) || $_GET['show'] == "") {
  27. $limit = 25;
  28. }
  29. $sql = mysql_query("SELECT * FROM phpbb_forums WHERE forum_id='".$_GET['forumid']."'");
  30. $forum_info = mysql_fetch_array($sql);
  31. ?>
  32. <font size="4">Top <? echo $limit; ?> per forum</font><br>
  33. <font size="3">Weergeeft de users die de meeste posts hebben in een bepaald forum.</font>
  34. <br><font size="2">Top <? echo $limit; ?> voor het forum <? echo $forum_info['forum_name']; ?></font>
  35. <form action="top_per_forum.php" method="get">
  36. Selecteer forum:<br>
  37. <select name="forumid">
  38. <?
  39. $sql = mysql_query("SELECT * FROM phpbb_forums ORDER BY forum_id ASC");
  40. $sql2 = mysql_query("SELECT * FROM phpbb_forums ORDER BY forum_id DESC LIMIT 1");
  41. $laatste_id = mysql_fetch_array($sql2);
  42. $i = 0;
  43. while($i != $laatste_id['forum_id']) {
  44. $forum_id = mysql_result($sql, $i, "forum_id");
  45. $forum_naam = mysql_result($sql, $i, "forum_name");
  46. if($forum_id == $_GET['forumid']) {
  47. echo "<option value=\"".$forum_id."\" selected>".$forum_naam."</option>";
  48. } else {
  49. echo "<option value=\"".$forum_id."\">".$forum_naam."</option>";
  50. }
  51. $i++;
  52. }
  53. ?>
  54. </select><br>
  55. Hoeveel laten zien (optioneel): <input type="text" maxlenght="4" size="5" name="show">
  56. <br>
  57. <input type="submit" value="Ok">
  58. </form>
  59. <?
  60. $query = "SELECT user_id, username, COUNT(post_id)
  61. AS posts
  62. FROM phpbb_users u, phpbb_posts p
  63. WHERE p.poster_id = u.user_id
  64. AND p.forum_id = ".$_GET['forumid']."
  65. GROUP BY user_id
  66. ORDER BY posts
  67. DESC LIMIT ".$limit."";
  68. $sql = mysql_query($query) or die(mysql_error());
  69. echo "<table width='100%' cellspacing='0' cellpadding='0' border=0>
  70. <tr>
  71. <td width='5%' class='font'>&nbsp</td>
  72. <td width='70%' class='font'>Username</td>
  73. <td width='20%' class='font'>Aantal posts</td></tr></table>
  74. <hr>";
  75. $plaats = 1;
  76. echo "<table width='100%' cellpadding=0 cellspacing=0 border=0>";
  77. while($list = mysql_fetch_array($sql)) {
  78. echo "<tr border='0'><td width='5%' class='font'>".$plaats.".</td>
  79. <td width='75%' class='font'><a href='posts_stats.php?user_id=".$list['user_id']."'>".$list['username']."</a></td>
  80. <td width='20%' class='font'>".$list['posts']."</td></tr>";
  81. $plaats++;
  82. }
  83. echo "</table><hr>";
  84. } else {
  85. ?>
  86. <form action="top_per_forum.php" method="get">
  87. Selecteer forum:<br>
  88. <select name="forumid">
  89. <? $sql = mysql_query("SELECT * FROM phpbb_forums ORDER BY forum_id ASC");
  90. $sql2 = mysql_query("SELECT * FROM phpbb_forums ORDER BY forum_id DESC LIMIT 1");
  91. $laatste_id = mysql_fetch_array($sql2);
  92. $i = 0;
  93. while($i != $laatste_id['forum_id']) {
  94. $forum_id = mysql_result($sql, $i, "forum_id");
  95. $forum_naam = mysql_result($sql, $i, "forum_name");
  96. echo "<option value=\"".$forum_id."\">".$forum_naam."</option>";
  97. $i++;
  98. }
  99. ?>
  100. </select><br>
  101. Hoeveel laten zien (optioneel): <input type="text" maxlenght="4" size="5" name="show">
  102. <br>
  103. <input type="submit" value="Ok">
  104. </form>
  105. <? } ?>
  106. </font>
  107. </body>
  108.  
  109. </html>
Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (2)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.03s