webForumDet fria alternativet

MySQL/PHP sök fråga

4 svar · 329 visningar · startad av Kosse

KosseMedlem sedan juni 2000162 inlägg
#1

$resultat = mysql_query("SELECT * FROM tablet WHERE spelare1='$row1[0]' OR spelare2='$row1[0]' AND aktivitet=1");

Koden ovan plockar ut alla rader som i spelare1 eller spelare2 innehåller ett speciellt värde plus att aktivitet måste vara 1. Detta fungerar bra.

Men hur gör jag om jag vill plocka ut alla rader precis som ovan fast de ska också kunna ha aktivitet 2.

Jag har provat följande formulering utan önskat resultat.

$resultat = mysql_query("SELECT * FROM tablet WHERE spelare1='$row1[0]' OR spelare2='$row1[0]' AND aktivitet=1 OR aktivitet=2");

Någon som förstår vad jag menar och kan hjälpa mig med detta? Kanske skulle jag varit i MySQL forumet istället???

WiZzLeRMedlem sedan juni 2002346 inlägg
#2

$resultat = mysql_query("SELECT * FROM tablet WHERE spelare1='$row1[0]' OR spelare2='$row1[0]' AND ( aktivitet=1 OR aktivitet=2 )");

nu gissar jag bara =)

KosseMedlem sedan juni 2000162 inlägg
#3

Jag tackar så väldans!
Det hjälpte mycket.

/BERNT

aasahMedlem sedan mars 20034 471 inlägg
#4

WiZzLeR skrev:

$resultat = mysql_query("SELECT * FROM tablet WHERE spelare1='$row1[0]' OR spelare2='$row1[0]' AND ( aktivitet=1 OR aktivitet=2 )");

Parentesen är nödvändig eftersom du blandar AND och OR. Hur ska MySQL kunna veta hur villkoren ska paras ihop annars.

Detta borde väl förståss postats under databaser i stället...

KosseMedlem sedan juni 2000162 inlägg
#5

Tackar för förklaringen också, har jobbat med paranteser i PHP men inte tänkt på det i MySQL-frågor (dum som man är). Och ja, borde nog postat detta under MySQL forumet.

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