webForumDet fria alternativet
Logga in / Bli medlem

MySQL/PHP sök fråga

PHP

4 svar · 331 visningar · startad av Kosse

Medlem sedan juni 2000162 inlägg
Trådstart#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???

Medlem 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 =)

Medlem sedan juni 2000162 inlägg
#3

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

/BERNT

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

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

257 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)