Guild Wars stat tracking The idea behind this is to track multiple characters individual stats as well as account stats.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 

60 рядки
2.9 KiB

  1. <?php
  2. if (isset($_SESSION['userid'])){
  3. echo '<table border="1"><caption>Titles progress for <b>' . $_SESSION['prefcharname'] . '</b></caption>';
  4. echo '<tr><th>Title</th><th>Title Rank</th><th>Title Points</th><th>Current Rank</th><th>Points Remaining</th><th>Max Title %</th><th>Next Rank</th></tr>';
  5. if ($_SESSION['prefcharid'] == "0") {
  6. // $gcc = Get Current Character stats
  7. $gcc = $con->prepare("SELECT * FROM gwstats WHERE charid = 0 AND accid = ? AND userid = ? ORDER BY currentstrank DESC, percent DESC");
  8. $gcc->bind_param("ii", $_SESSION['prefaccid'], $_SESSION['userid']);
  9. } else {
  10. // $gcc = Get Current Character stats
  11. $gcc = $con->prepare("SELECT * FROM gwstats WHERE charid IN (0, ?) AND accid = ? AND userid = ? ORDER BY currentstrank DESC, percent DESC");
  12. $gcc->bind_param("iii", $_SESSION['prefcharid'], $_SESSION['prefaccid'], $_SESSION['userid']);
  13. }
  14. $gcc->execute();
  15. $gccres = $gcc->get_result();
  16. while ($row = $gccres->fetch_assoc()) {
  17. // $gnr = Get Next Rank
  18. $gnr = $con->prepare("SELECT stpoints, stname FROM gwsubtitles WHERE titlenameid = ? AND stpoints >= ? ORDER BY stpoints ASC LIMIT 1");
  19. $gnr->bind_param("ii", $row['titlenameid'], $row['titlepoints']);
  20. $gnr->execute();
  21. $gnr->bind_result($stpoints, $stname);
  22. $gnr->fetch();
  23. $gnr->close();
  24. // $gmr = Get Maximum Rank available for selected title
  25. $gmr = $con->prepare("SELECT MAX(strank), MAX(stpoints) FROM gwsubtitles WHERE titlenameid = ?");
  26. $gmr->bind_param("i", $row['titlenameid']);
  27. $gmr->execute();
  28. $gmr->bind_result($mra, $mpa); // $mra = max rank available, $mpa = max points available
  29. $gmr->fetch();
  30. $gmr->close();
  31. // $gt = Get Title
  32. $gt = $con->prepare("SELECT titlename FROM gwtitles WHERE titlenameid = ?");
  33. $gt->bind_param("i", $row['titlenameid']);
  34. $gt->execute();
  35. $gt->bind_result($titlename);
  36. $gt->fetch();
  37. $gt->close();
  38. $pr = number_format(($mpa - $row['titlepoints']));
  39. if ($row['currentstrank'] === $mra) {
  40. $pr = "Highest rank achieved!";
  41. $stname = "Highest rank achieved!";
  42. }
  43. if ($row['currentstrankname'] === NULL) {
  44. $row['currentstrankname'] = "No title earned yet!";
  45. $row['currentstrank'] = "0";
  46. }
  47. if ($row['percent'] >= 100) {
  48. $ohp = 100;
  49. } else {
  50. $ohp = $row['percent'];
  51. }
  52. echo '<tr><td style="width:175px;">' . $titlename . '</td><td style="width:210px;">' . $row['currentstrankname'] . '</td><td style="width:100px;">' . number_format($row['titlepoints']) . '</td><td style="width:70px;">' . $row['currentstrank'] . '</td>';
  53. echo '<td style="width:100px;">' . $pr . '</td><td><div class="percentbar" style="width:100px;"><div style="width:' . $ohp . 'px;"></div></div>';
  54. echo $ohp;
  55. echo '% completed</td><td>' . $stname . '</td></tr>';
  56. }
  57. $gccres->close();
  58. echo '</table><br />';
  59. }
  60. ?>