Combinatie AND + OR
Andreas Creten
25/04/2005 15:05:00Hi, ik ben bezig met een zoekfunctie op een site,
maar zou een combinatie moeten hebben van AND en OR.
ik doe SELECT * FROM db WHERE naam LIKE %var% AND url LIKE %var%
Nu wil ik die AND vervangen door een combinatie van AND en OR, ik dacht meteen aan XOR, maar dan is het ofwel AND ofwel OR.
Ik moet hebben dat het XOR, AND of OR kan zijn.
Dus 2 opties:
• ze mogen allebij die var hebben
• de een mag die var hebben maar niet de andere
maar zou een combinatie moeten hebben van AND en OR.
ik doe SELECT * FROM db WHERE naam LIKE %var% AND url LIKE %var%
Nu wil ik die AND vervangen door een combinatie van AND en OR, ik dacht meteen aan XOR, maar dan is het ofwel AND ofwel OR.
Ik moet hebben dat het XOR, AND of OR kan zijn.
Dus 2 opties:
• ze mogen allebij die var hebben
• de een mag die var hebben maar niet de andere
PHP hulp
28/11/2024 01:01:27PHP erik
25/04/2005 15:40:00Quote:
Dus 2 opties:
• ze mogen allebij die var hebben
• de een mag die var hebben maar niet de andere
• ze mogen allebij die var hebben
• de een mag die var hebben maar niet de andere
Je moet misschien even met haakjes gaan werken. Weet je zeker dat enkel OR niet werkt in jouw situatie? Daar lijkt het namelijk wel op.
Op deze manier kun je met haakjes werken:
... WHERE (iets1 LIKE waarde1 AND iets2 LIKE waarde2) OR (iets3 LIKE waarde3 OR iets4 LIKE waarde4) AND iets5 LIKE waarde5
(het is maar een voorbeeld)
Winston Smith
25/04/2005 16:19:00Of wellicht een radio button of selectievakje op je site, waarmee je kan kiezen voor AND of OR. Die waarde zet je dan in een variabele en die variabele gooi je in je query.
dus $operator = $_POST['operator']
$sql = "SELECT * FROM table WHERE 1=1 AND naam LIKE '%" . $var1 . "%' " . $operator . "url LIKE '%" . $var2 . "%' ORDER BY id LIMIT";
dus $operator = $_POST['operator']
$sql = "SELECT * FROM table WHERE 1=1 AND naam LIKE '%" . $var1 . "%' " . $operator . "url LIKE '%" . $var2 . "%' ORDER BY id LIMIT";