Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] zapytanie sql a paginacja
kredka
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.03.2011

Ostrzeżenie: (0%)
-----


Witajcie,

Sem tu brand new, więc proszę o wyrozumiałość (IMG:style_emoticons/default/smile.gif)

Zwyczajowo czytam i męczę kody do skutku (php mniej). W tym przypadku rozłożyłam ręcę i proszę o pomoc lub zrozumiałą wskazówkę.

Do rzeczy:

Plik php ma niby proste zadanie wyświetlać rekordy z bazy mysql wg zadanych kryteriów i dzielić na strony.

Wszystko wygląda dobrze tylko na stronie pierwszej. Na kolejnych baza pokazuje się "jak leci" bez ograniczeń "wcześniejszego filtrowania". Może to przez warunki? Jak mogłabym to poprawić?

Będę przeogromnie wdzięczna za pomoc.



I głębokie wejrzenie w kodowe oczy:

[To tylko wycinki większego kodu]

-----------------------------------------------------1 formularz----------------------------------
  1. <form method='post' action='index.php'>
  2. <input type="checkbox" name="bialy" value="bialy" onchange='java script: document.form.submit();' />
  3. <input type="checkbox" name="czarny" value="czarny" onchange='java script: document.form.submit();' />
  4. <select name="w1" onchange='java script: document.form.submit();' width="200" style="width: 200px">
  5. <option value="----------">----------</option>
  6. <option value="a">a</option>
  7. <option value="b">b</option>
  8. <option value="----------">----------</option>
  9. </select>
  10. <input type="submit" value="Wyszukaj" />
  11. </form>
  12.  

-----------------------------------------------------2 łączymy z bazą----------------------------------
łączymy z bazą

  1. $_POST['w1'];
  2. $_POST['bialy'];
  3. $_POST['czarny'];
  4.  
  5.  
  6. $w1=$_POST['w1'];
  7. $bialy=$_POST['bialy'];
  8. $czarny=$_POST['czarny'];
  9.  
  10.  

-----------------------------------------------------warunki do zapytania----------------------------------


  1. if ($w1=='----------')
  2. {
  3. $w1a='';
  4. }
  5.  
  6. if ($w1=='a')
  7. {
  8. $w1a='and `w1` = \'a\'';
  9. }
  10.  
  11.  
  12. if ($w1=='b')
  13. {
  14. $w1a='and `w1` = \'b\'';
  15. }
  16.  
  17.  
  18. if ($bialy=='bialy')
  19. {
  20. $bialya='and `bialy` = \'bialy\'';
  21. }
  22. else
  23. {
  24. $bialya='';
  25. }
  26.  
  27.  
  28. if ($czarny=='czarny')
  29. {
  30. $czarnya='and `czarny` = \'czarny\'';
  31. }
  32. else
  33. {
  34. $czarnya='';
  35. }
  36.  


-----------------------------------------------------zapytanie----------------------------------


  1. $perPage = 25;
  2. if (is_numeric($_REQUEST['page'])) {
  3. $page = (int) $_REQUEST['page'];
  4. if ($page < 1) {
  5. $page = 1;
  6. }
  7. } else {
  8. $page = 1;
  9. }
  10. $start = ($page - 1) * $perPage;
  11.  
  12.  
  13.  
  14.  
  15.  
  16. $zapytanie = "SELECT * FROM `nazwabazy` WHERE $w1a $bialya $czarnya ORDER BY `nazwabazy`.`id` DESC limit $start, $perPage";
  17.  
  18.  
  19. $idzapytania = mysql_query($zapytanie);
  20.  


tu się wyświetlają dane....

-----------------------------------------------------paginacja----------------------------------


  1. if ($prev==0)
  2. {
  3. echo "";
  4. }
  5. else
  6. {
  7. echo "<a href=\"index.php?page=".$prev."\">[ ".$prev." ]</a>&nbsp;&nbsp;&nbsp;&nbsp;";
  8. }
  9.  
  10.  
  11.  
  12.  
  13.  
  14. echo "<b>[ ".$page." ]</b>"; //obecna
  15.  
  16.  
  17.  
  18.  
  19.  
  20. if (mysql_num_rows($filtr)-1>$perPage*$page)
  21. {
  22. echo "&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"index.php?page=".$next."\">[ ".$next." ]</a>";
  23. }
  24.  
  25.  
  26. // zamykamy połączenie
  27. mysql_close($connection);
  28.  
  29. ?>
  30.  


Ten post edytował kredka 11.03.2011, 14:57:27
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.09.2025 - 10:51