Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] kilka warunkow w zapytaniu do bazy
Forum PHP.pl > Forum > Przedszkole
skowron-line
mam kilka np 3 pola input w wyszukiwarce i jak skonstruowac zapytanie skoro nigdy nie wiem ktore pole bedzie wypelnione czy 1 czy 2 czy 3 albo 2 z 3 beda a jedno nie
lopik
Nie możesz sprawdzić czy pole jest wypełnione ?
maryaan
jesli te pola to "skladniki" warunku zapytania, to mozna np tak ze na poczatek w jakis sposob (js) wymuszasz wypelnienie przynajmniej jednego, nastepnie przy wypelnionym polu X dodajesz do zapytania " jakiesPoleX = $costamX AND " i na koncu usuwasz ostatnie 3 znaki z zapytania
spryciula
może to ci się przyda, kiedyś robiłem wyszukiwanie, user zaznaczał checkboxy, i na tej podstawie budowałem zapytanie, np


  1. <?php
  2. $zm_pocz_zapyt = "SELECT * FROM `tbl_przyjecie` WHERE "; //początek zapytania
  3.  
  4. ///tu sprawdzałem jakie checkboxy user ma zaznaczone
  5. //1 checkbox
  6. if (isset($_POST['checkbox1'])==true)
  7. {
  8.  $zm_plomba = "`nr_plomby`='$nr_plomby'";
  9. }
  10. else
  11. {
  12. $zm_plomba = "";
  13. }
  14. //2 checkbox
  15. if (isset($_POST['checkbox1'])==true)
  16. {
  17.  if (isset($_POST['checkbox2'])==true)
  18.  {
  19. $zm_potw = "and `nr_potw_retek`='$nr_potw'";
  20.  }
  21.  else
  22.  {
  23. $zm_potw = "";
  24.  }
  25. }
  26. elseif (isset($_POST['checkbox1'])==true)
  27. {
  28.  $zm_potw = " `nr_potw_retek`='$nr_potw'";
  29. }
  30. else
  31. {
  32. $zm_potw = "";
  33. }
  34. //3 checkbox
  35. if (isset($_POST['checkbox1'])==true || isset($_POST['checkbox2'])==true)
  36. {
  37.  if (isset($_POST['checkbox3'])==true)
  38.  {
  39.  $zm_zam = "and `nr_zam_retek`='$nr_zam'";
  40.  }
  41.  else
  42.  {
  43. $zm_zam = "";
  44.  }
  45. }
  46. elseif (isset($_POST['checkbox3'])==true)
  47. {
  48.  $zm_zam = " `nr_zam_retek`='$nr_zam'";
  49. }
  50. else
  51. {
  52. $zm_zam = "";
  53. }
  54.  
  55.  
  56. // i na koniec query
  57.  
  58.  
  59. $sql = mysql_query($zm_pocz_zapyt.$zm_plomba.$zm_potw.$zm_zam);
  60.  
  61. $wynik= mysql_fetch_array($sql);
  62. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.