Wyszukiwanie MYSQL/ pytanie o frazę WHERE

0

Robię formularz wyszukiwania i jeżeli nie zostanie podany parametr to mają zostać wyświetlone wszystkie rekordy, w przeciwnym wypadku mają zostać wyświetlone rekordy o podanej nazwie.
Jeżeli napisze w formularzu where name = $zmienna to jeżeli nie zostanie podany żaden rekord to nic się nie wyświetli. Stąd pytanie czy jest jakas fraza typu "*" np. where name = * która wyświetli wszystkie rekordy? (chodzi mi o to, że jeżeli system nie wykryje parametru to przypisze do niego dana fraze, która pozwoli wyświetlić wszystkie rekordy).
A jeżeli nie jest to możliwe, to zostaje IF i 2 rożne zapytania do bazy ?

0

Nie ma takie opcji w where. Ale jak wysyłasz nulla albo pusty string w parametrze $zmienna to możesz zrobić co w stylu

where  name = $zmienna or $zmienna  is null or $zmienna = ''
1

Jeśli masz NULL w wartości $parametr to możesz zrobić tak:

WHERE pole=COALESCE($parametr, pole)
0
Tomek Pycia napisał(a):

Nie ma takie opcji w where. Ale jak wysyłasz nulla albo pusty string w parametrze $zmienna to możesz zrobić co w stylu

where  name = $zmienna or $zmienna  is null or $zmienna = ''

Może przedstawię problem jaśniej. Używam biblioteki Medoo

getDB()->select("tireproduct", [
                "[>]tiretype" => ["tiretype_idtiretype" => "idtiretype"],
                "[>]offer" => ["idtire" => "tireproduct_idtire"],
                    ], [
                "idtire",
                "name",
                    ], [
                        'LIMIT' => [$this->page * 10 - 10, 10],
                        'model' => $this->search
            ]);

i teraz jezeli $this->search jest rozne od null to faktycznie ma wykonac się 'model' => $this->search, ale jezeli jest puste to chcialbym, żeby nie brał tego pod uwagę i wyświetlil rekordy bez tego warunku

1 użytkowników online, w tym zalogowanych: 0, gości: 1