webForumDet fria alternativet

or and or

3 svar · 188 visningar · startad av FlashX

FlashXMedlem sedan nov. 19991 033 inlägg
#1

Är lite förbryllad över hur OR fungerar.
Skiljer det sig i sättet att använda än AND?
Har jag flera OR efter varandra så blir det förvisso inga fel men svaret som genereras stämmer inte med det som borde genereras.

Jag använder OR i en sorteringsfunktion och varje OR går till en ny kolumn och det verkar bara vara den sist angivna som skickar tillbaka rätt svar (dom andra lopar svaret flera ggr.).
Exempel:

$results = mysql_query("SELECT * 
FROM id_bildbank, id_category, id_products, id_designers, bildbank 
WHERE bildbank_id='$bildtyp' 
OR category_id='$produktfamilj' 
OR products_id='$produktnamn' 
OR designers_id='$designer' 
AND bildbank.designers_id=id_designers.ID 
AND bildbank.category_id=id_category.ID 
AND bildbank.products_id=id_products.ID 
AND bildbank.bildbank_id=id_bildbank.ID", DB);

fungerar tillfredsställande så länge det innehåller en OR eller om jag väljer att sortera från $designer (ligger ju sist) men jag vill kunna sortera från andra kolumner i tabellen.
Är det så att man måste fixa en ny select för varje eller har jag fel syntax helt enkelt?

jorgenMedlem sedan feb. 20012 412 inlägg
#2

Hej!

OR och AND har olika inbördes ordningar med olika prioritet. Du får lägga till lite paranteser skulle jag tro.

Mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

@ndersMedlem sedan juni 200032 969 inlägg
#3

Prexis! Det känns som att det borde se ut så här:

$results = mysql_query("SELECT * 
FROM id_bildbank, id_category, id_products, id_designers, bildbank 
WHERE (bildbank_id='$bildtyp' 
OR category_id='$produktfamilj' 
OR products_id='$produktnamn' 
OR designers_id='$designer' )
AND bildbank.designers_id=id_designers.ID 
AND bildbank.category_id=id_category.ID 
AND bildbank.products_id=id_products.ID 
AND bildbank.bildbank_id=id_bildbank.ID", DB);

Mvh,

------------------
All your base are belong to me.

FlashXMedlem sedan nov. 19991 033 inlägg
#4

Visst ska det vara så :)

140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)