Guild Wars stat tracking The idea behind this is to track multiple characters individual stats as well as account stats.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

60 line
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. ?>