Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP i MySql --> wybór z 4 <SELECT>ów i ...
Forum PHP.pl > Forum > Przedszkole
smerf_usek
.Witam,
Mam taki mały problem, mam nadzieję, że opiszę go zrozumiale.
Próbuję zrobić stronę, gdzie z góry nałożona będzie baza danych,
gdzie można wybrać potrawę kulinarną(w przypadku mojej strony) a dana potrawa ma określone inne wartości zapisane na stałe w bazie (MySql)
Mam 4 select'y .
Każdy select ma kilka wartości, a po ustawieniu konkretnych wartości chciałbym aby wyświetlone zostały tylko te potrawy które spełniają wymaganiom użytkownika.
Czy tutaj leży problem w ustawieniu zapytania 'select * from ...' w pliku PHP, czy może nie da się tego zrobić w PHP i trzeba np. użyć javy do tego typu zadania.
Prosiłbym o jakąkolwiek podpowiedź co zrobić w takim przypadku.

Pozdrawiam
thek
To są tylko warunki dodawane do WHERE w zapytaniu. Oczywiście całość zależy od tego jak masz skonstruowane tabele.
smerf_usek
.Czyli jak dobrze rozumiem wystarczy tylko SELECTa(zapytanie) odpowiednio ustawić i powinno być wszystko dobrze ?
Mam 4 tabele i 4 <SELECT>y 5 tabela to tabela z danymi do której odnoszą się te wszystkie tabele
Tabele na rysunku:
W formularzu w HTMLu mam podobne nazwy w selectach wstawione.
Mógłbyś mi pomóc chociaż z grubsza ustawić te zapytanie? Albo tylko dla dwóch tabel, abym załapał o co chodzi.

Pozdrawiam
thek
Ale co tu jest trudnego? W formularzu robisz select, który ma jako nazwę określone w tabeli nazewnictwo, ale option value ma jako podaną liczbę. Przykladowo:
  1. <select name="trudnosc">
  2. <option value="">Poziom trudności potrawy</option>
  3. <option value="1">Łatwe -- *</option>
  4. <option value="2">Średnie -- **</option>
  5. <option value="3">Trudne -- ***</option>
I podobnie dla każdego innego select w kodzie html
Od strony zapytania zaś będziesz sprawdzał czy podano wartość, i jeśli tak, to dorzucasz to do zapytania.
  1. if( array_key_exists( 'trudnosc', $_POST ) AND filter_var( $_POST['trudnosc'], FILTER_VALIDATE_INT, array( 'options' => array( 'min_range' => 1, 'max_range' => 3 ) ) ); ) {
  2. $sql = 'SELECT * FROM potrawy WHERE TrudnoscId = '.$_POST['trudnosc'];
  3. }
To tylko sprawdzenie jednego. Dla każdego z warunków będziesz musiał sprawdzać i doklejać do zapytania. Problemem może być dla Ciebie sytuacja, gdy ktoś nie poda żadnego lub poda więcej niż jedno kryterium, ale to się da prosto rozwiązać w oparciu o tablicę, nie chcę jednak Ci tu całego kodu robić. Inna sprawa, że zadanie jest po prostu banalne i jako Opiekun muszę Ci powiedzieć, że kwalifikuje się do Przedszkola bo to ewidentne podstawy. I zapewne za chwilę jeśli nie ja sam, to ktoś inny ten temat tam przeniesie.
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.