Witam. Po wykonaniu pliku php wyświetlają mi się powtarzające rekordy. Czy jest sens robić funkcję ograniczającą wyświetlanie powtarzających danych, albo czy da się to napisać w MySQL. Próbowałem DISTINCT i nie działa.


  1. if ((empty($_GET['page'])) || ($_GET['page']) == 1 )
  2. {
  3. $how_much_loops = 0;
  4.  
  5. for ($i = 0; $i <= mysql_num_rows($result); $i++)
  6. {
  7. if (isset($_SESSION['sortby']) && isset($_SESSION['dir']))
  8. {
  9. $sortby = $_SESSION['sortby'];
  10. $dir = $_SESSION['dir'];
  11. $sortby = mysql_real_escape_string($sortby);
  12. $query = "SELECT * from table_books ORDER BY $sortby $dir LIMIT 10 OFFSET $i";
  13. }
  14.  
  15. else $query = "SELECT * from table_books LIMIT 10 OFFSET $i";
  16. //$query = "SELECT * from table_books ORDER BY book_name DESC LIMIT 10 OFFSET $i";
  17.  
  18. if ($how_much_loops >= 10) break;
  19. echo "<tr>";
  20.  
  21. $result = mysql_query($query) or die(mysql_error());
  22. $row = mysql_fetch_assoc($result);
  23. if ($row['binding'] == 1)
  24. $row['binding'] = "hard";
  25. else $row['binding'] = "soft";
  26.  
  27. if ($row['availability'] == 2)
  28. $row['availability'] = "available";
  29. else if ($row['availability'] == 0)
  30. $row['availability'] = "not available";
  31. else if ($row['availability'] == 1)
  32. $row['availability'] = "ordered";
  33. $book_id = $row['book_id'];
  34. echo "<td>".($i+1)."</td>";
  35. echo "<td>".$row['book_id']."</td>";
  36. echo "<td>".$row['book_name']."</td>";
  37. echo "<td>".$row['author']."</td>";
  38. echo "<td>".$row['publishing_house']."</td>";
  39. echo "<td>".$row['year_of_publication']."</td>";
  40. echo "<td>".$row['binding']."</td>";
  41. echo "<td>".$row['availability'] ;
  42.  
  43.  
  44. if ($row['availability'] == "available")
  45. {
  46. if (isset($_SESSION['logged']))
  47. {
  48. if (($_SESSION["logged"] == 2))
  49. {
  50. echo "<a href='order_book.php?book_id=$book_id'> | Order</a>";
  51.  
  52. }
  53. echo "</td>";
  54. }
  55. }
  56. echo "</td>";
  57.  
  58.  
  59.  
  60.  
  61.  
  62. $how_much_loops++;
  63. }
  64. echo "</tr></table>";
  65. }