Quote database webapp
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.

browse.php 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?PHP
  2. require_once('inc/database.php');
  3. define('TITLE', 'Browse quotes');
  4. require_once('inc/header.php');
  5. if (isset($_GET['q']) && ctype_digit($_GET['q'])) {
  6. $sql = 'SELECT quote_id, quote_quote, quote_rating FROM quotes WHERE quote_id = '.m($_GET['q']);
  7. $res = mysql_query($sql);
  8. if (mysql_num_rows($res) == 0) {
  9. echo '<h2>Error</h2><p>That quote wasn\'t found. Try <a href="?">browsing</a> for it?</p>';
  10. } else {
  11. echo '<h2>Viewing quote</h2>';
  12. $i = 0;
  13. while ($row = mysql_fetch_array($res)) {
  14. $i = 1 - $i;
  15. if ($i == 1) { $e = 'even'; } else { $e = 'odd'; }
  16. ?>
  17. <div class="quote <?PHP echo $e; ?>">
  18. <?PHP
  19. if (isset($_SESSION['uid'])) {
  20. doRate($row['quote_id']);
  21. }
  22. ?>
  23. <p>
  24. Quote #<?PHP echo $row['quote_id']; ?>.
  25. Rating <?PHP echo round($row['quote_rating'],2); ?>.
  26. <?PHP
  27. if (!isset($_SESSION['uid'])) {
  28. echo ' <a href="'.BASE.'login">Login to rate</a>.';
  29. }
  30. ?>
  31. </p>
  32. <div class="quotebody">
  33. <?PHP echo nl2br(htmlentities($row['quote_quote'], ENT_QUOTES, 'UTF-8')); ?>
  34. </div>
  35. </div>
  36. <?PHP
  37. }
  38. }
  39. } else {
  40. $offset = 0;
  41. if (isset($_GET['o']) && ctype_digit($_GET['o'])) {
  42. $offset = $_GET['o'];
  43. }
  44. $sql = 'SELECT COUNT(*) FROM quotes';
  45. $res = mysql_query($sql);
  46. $row = mysql_fetch_array($res);
  47. define('QUOTES', $row[0]);
  48. $sql = 'SELECT quote_id, quote_quote, quote_rating FROM quotes ORDER BY quote_id LIMIT '.$offset.',25';
  49. $res = mysql_query($sql)
  50. ?>
  51. <div>
  52. <h2>Browse quotes</h2>
  53. <?PHP
  54. echo '<div class="nav">';
  55. if ($offset > 0) {
  56. echo '<a href="browse?o='.($offset-25).'">&lt;&lt; Previous</a> |';
  57. }
  58. if ($offset + 25 > QUOTES) { $max = QUOTES; } else { $max = $offset + 25; }
  59. echo ' Viewing quotes '.(1+$offset).' to '.$max.' of '.QUOTES.'.';
  60. if ($max < QUOTES) {
  61. echo ' | <a href="browse?o='.$max.'">Next &gt;&gt;</a>';
  62. }
  63. echo '</div>';
  64. $i = 0;
  65. while ($row = mysql_fetch_array($res)) {
  66. $i = 1 - $i;
  67. if ($i == 1) { $e = 'even'; } else { $e = 'odd'; }
  68. ?>
  69. <div class="quote <?PHP echo $e; ?>">
  70. <?PHP
  71. if (isset($_SESSION['uid'])) {
  72. doRate($row['quote_id']);
  73. }
  74. ?>
  75. <p>
  76. Quote <a href="<?PHP echo BASE; ?>browse?q=<?PHP echo $row['quote_id']; ?>">#<?PHP echo $row['quote_id']; ?></a>.
  77. Rating <?PHP echo round($row['quote_rating'],2); ?>.
  78. <?PHP
  79. if (!isset($_SESSION['uid'])) {
  80. echo ' <a href="'.BASE.'login">Login to rate</a>.';
  81. }
  82. ?>
  83. </p>
  84. <div class="quotebody">
  85. <?PHP echo nl2br(htmlentities($row['quote_quote'], ENT_QUOTES, 'UTF-8')); ?>
  86. </div>
  87. </div>
  88. <?PHP
  89. }
  90. echo '<div class="nav">';
  91. if ($offset > 0) {
  92. echo '<a href="browse?o='.($offset-25).'">&lt;&lt; Previous</a> |';
  93. }
  94. if ($offset + 25 > QUOTES) { $max = QUOTES; } else { $max = $offset + 25; }
  95. echo ' Viewing quotes '.(1+$offset).' to '.$max.' of '.QUOTES.'.';
  96. if ($max < QUOTES) {
  97. echo ' | <a href="browse?o='.$max.'">Next &gt;&gt;</a>';
  98. }
  99. echo '</div>';
  100. ?>
  101. </div>
  102. <?PHP
  103. }
  104. require_once('inc/footer.php');
  105. ?>