webForumDet fria alternativet

or and or

Databaser & SQLur Databashanterare & SQL

3 svar · 188 visningar · startad av FlashX

Medlem sedan nov. 19991 033 inlägg
Frågan#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?

Medlem 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?

Medlem sedan juni 200032 967 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.

Medlem sedan nov. 19991 033 inlägg
#4

Visst ska det vara så :)

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