Witam

Mam problem z pobieraniem wyników z bazy. Pobiera wyniki, ale zawsze brakuje jednego rekordu. Nie wiem czy błąd tkwi w samym zapytaniu czy w stronnicowaniu wyników.


  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3. ?>
  4.  
  5. <center><h2>Serwis</h2></center>
  6. <?php include('header.php'); ?>
  7.  
  8. <?php
  9. // jeżeli użytkownik jest zalogowany wyświetlamy inforamcję
  10. if (!isset($_SESSION['login'])) {
  11.  
  12. header('Location: logowanie.php');
  13. }
  14.  
  15. else {
  16. echo '';
  17. }
  18. ?>
  19.  
  20. <div class="content">
  21.  
  22.  
  23. <div id="menu">
  24.  
  25. <ul>
  26. <?php if (!isset($_SESSION['login'])) { echo ''; } else {?>
  27. <li><a href="szukaj_klienta.php">Szukaj</a></li>
  28. <?php } ?>
  29. <?php if (!isset($_SESSION['login'])) { echo ''; } else {?>
  30. <li><a href="dodaj_klienta.php">Dodaj</a></li>
  31. <?php } ?>
  32. <?php if (!isset($_SESSION['login'])) { echo ''; } else {?>
  33. <li><a href="przegladaj_klienta.php">Przeglądaj</a></li>
  34. <?php } ?>
  35.  
  36. </ul>
  37. <br /><br />
  38. <center><h3>Przeglądaj Klientów</h3></center>
  39. </div>
  40. <center>
  41.  
  42. <?php
  43. require "inc/db.php";
  44. // usuwanie rekordu
  45. $go = trim($_GET['del']);
  46. $id_klient = trim($_GET['id_klient']);
  47. if(isset($_GET['id_klient']) && ($go = "del")){
  48. /* usuwamy rekord */
  49. mysql_query("DELETE FROM klienci WHERE id_klient='".mysql_real_escape_string($_GET['id_klient'])."'")
  50. or die('Błąd zapytania: '.mysql_error());
  51. echo '<span class="powodzenie">Usunięto klienta z bazy</span>';
  52. }
  53. echo "<br>";
  54. //stronicowanie rekordów
  55. $count=5; //wyników na strone
  56. $offset=0; //obecnie wyświetlana strona
  57. if(isset($_GET['count'])) //jeśli wybrano za pomocą GET ilość wyników
  58. {
  59. $count = $_GET['count'];
  60. }
  61. if(isset($_GET['offset'])) //jeśli wybrano kolejne strony z wynikami
  62. {
  63. $offset = $count*$_GET['offset'];
  64. }
  65.  
  66. // zapytanie zwracające ilosc rekordów z tabeli
  67. $sql = 'SELECT COUNT(*) FROM `klienci`';
  68. $result = mysql_query($sql);
  69. $r = mysql_fetch_array($result);
  70. //podział wyników na strony
  71. $pages = ceil($r[0]/$count);
  72. //wybranie wyników dla bieżących parametrów offset
  73. $select = 'SELECT * FROM `klienci` ORDER BY `id_klient` DESC LIMIT '.$count.' offset '.$offset.';';
  74. echo "<b>Strony</b>";
  75.  
  76. for($i=0;$i<$pages;$i++) //wyswietlanie numerów stron
  77. {
  78. if($i*$count==$offset)
  79. {
  80. echo ' '.$i.' ';
  81. }else{
  82. echo '<a href="przegladaj_klienta.php?count='.$count.'&amp;offset='.$i.'"> '.$i.' </a>'; //tworzenie odnośnika z odpowiednimi parametrami offset i count
  83. }
  84. }
  85. echo "<br>";
  86.  
  87. $q=mysql_query($select)or die(mysql_error());
  88. while($r=mysql_fetch_array($q))
  89. {
  90. //wyświetlanie rekordów z tabeli za pomocą zmiennej $row
  91. echo "<table>";
  92.  
  93. echo "<tr bgcolor=#376875 align=\"center\">";
  94. echo "<th><b>ID</th>";
  95. echo "<th width=150px;><b>Imie</th>";
  96. echo "<th width=150px;><b>Nazwisko</th>";
  97. echo "<th width=100px;><b>Telefon</th>";
  98. echo "<th width=100px;><b>E-mail</th>";
  99. echo "<th width=350px;><b>Adres</th>";
  100. echo "<th width=100px;><b>Akcja</th>";
  101. echo "</tr>";
  102. while($r = mysql_fetch_assoc($q)) {
  103. echo "<tr align=\"center\">";
  104. echo "<td>".$r['id_klient']."</td>";
  105. echo "<td>".$r['imie']."</td>";
  106. echo "<td>".$r['nazwisko']."</td>";
  107. echo "<td>".$r['telefon']."</td>";
  108. echo "<td>".$r['e_mail']."</td>";
  109. echo "<td>".$r['adres']."</td>";
  110. echo "<td>
  111. <a href=\"szczegoly_klienta.php?go=szczegoly&id_klient={$r['id_klient']}\"><img src=\"./img/user.png\" width=\"20px\" high=\"20\" border=\"0\"></a>
  112. <a href=\"przegladaj_klienta.php?go=del&id_klient={$r['id_klient']}\"><img src=\"./img/delete.png\" width=\"20px\" high=\"20\" border=\"0\"></a>";
  113. echo "</tr>";
  114.  
  115. }
  116. echo "</table>";
  117. }
  118.  
  119.  
  120.  
  121. ?>
  122. </center>
  123.  
  124. </div>
  125.  
  126. <?php include('footer.php'); ?>