Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przesyłanie danych z insert do SELECT WHERE
Forum PHP.pl > Forum > Bazy danych > MySQL
Gabi12
Proszę o pomoc

Jestem nowy na forum i początkującym w PHP i SQL.

Mam formularz w którym jest parę pól insert do wpisywania danych, następnie dane przesyłane są metodą post do zapytania SELECT. np Imię, Nazwisko, Stanowisko
Jak chcę znaleźć dane zawierające np imię i nazwisko bez podania stanowiska zapytanie uznaje stanowisko za puste i nie podaje prawidłowego wyniku.

Podpowiedzcie czy jest możliwość podania instrukcji warunkowej sprawdzającej czy pole jest puste lub innego rozwiązania problemu.
Oczywiście dopuszczam by nie były wszystkie pola wypełnione i instrukcja powinna zmieniać zapytanie.
Myślałem o sprawdzeniu za pomocą if empty i podaniu różnych poleceń SELECT. przy 3 zmiennych jest to do ogarnięcia przy 20 to już jest niezła zabawa a znając życie jest prostsze rozwiązanie.

SELECT `Imie`, `Nazwisko`, `Stanowisko` FROM `pracownicy` WHERE `Imie` LIKE :imie and Nazwisko LIKE :nazwisko and Stanowisko LIKE :stanowisko
viking
Dobrze kombinujesz. Możesz zawsze hurtem usunąć z tablicy post puste pola.
Gabi12
Rozwiązałam problem sprawdzając czy dana jest pusta i jeśli tak przypisuję jej wartość "%" i wyszukuje mi wszystkie pola.
nospor
Twoje rozwiazanie to jedno z gorszych. TEraz zmuszasz baze do niepotrznych i ciezkich obliczen.
Takie rzeczy sie robi na zasadzie nie dodawania do zapytania tego, czego nie chcesz. Tu masz przyklad jak to sie robi poprawnie

http://nospor.pl/wyszukiwarka-zapytanie-za...d-warunkow.html
Gabi12
Niestety mam kolejny problem

`imie` LIKE "%" OR `imie` IS NULL

PDO: `imie` LIKE :imie OR `imie` IS NULL

Muszę w zapytaniu dodać coś takiego gdzie jak imie = "%" wtedy jest NULL a jak inna wartość to IS NULL
jak zapisuję PDO tak"

PDO: `imie` LIKE :imie OR `imie` IS :imie_null

gdzie za imie_null wstawiam wartość "NULL" lub "NOT NULL" pojawia się bład PDO

Podpowiedzcie proszę jak rozwiązać problem
nospor
Juz podalem ci jak to sie robi poprawnie. To rozwiaze twoj aktualny problem rowniez
Gabi12
zrobione brakowało mi kropki przy nazwie zmiennych dzięki za pomoc a rozwiązanie ze wstawianiem warunków jest ciekawe spróbuję przerobić kod

Dzięki za pomoc
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-2024 Invision Power Services, Inc.