Guild Wars stat tracking The idea behind this is to track multiple characters individual stats as well as account stats.
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 

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