Toon posts:

[Mysql] query werkt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mensen,

Wie kan mij helpen. De onderstaande query werkt niet. In de tabel komt het veld reseller_id voor, deze kan op 1 of op 0 staan.

Alle 2 de query's zien in de database niet of WHERE reseller_id = 0 of WHERE reseller_id = 1 staat. Hij weergeeft alles en niet de velden waar reseller_id = 0 of 1 moet zijn, wat doe ik fout?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
elseif ($toon == 'beperkt')
{
    $result_winkel = mysql_query ("
        select * from artikelen
        WHERE artikel_code = '".$trefwoord."'
            OR artikel_omschrijving like '%".$trefwoord."%'
            AND reseller_id='%id'
        ORDER BY artikel_naam"
    );
}
    
else
    $result_winkel = mysql_query("
        SELECT * FROM artikelen
        WHERE artikel_code = '".$trefwoord."'
            OR artikel_omschrijving like '%".$trefwoord."%'
            AND reseller_id=0
        ORDER BY artikel_naam"
    );

}

[ Voor 40% gewijzigd door .oisyn op 05-05-2004 01:13 ]


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

de zoektermen groeperen?
zoiets als dit:
code:
1
2
3
WHERE 
    artikel_code = '".$trefwoord."' OR 
    (artikel_omschrijving like '%".$trefwoord."%' AND reseller_id=0)


edit:
als iedereen dan begint te indenten dan doe ik dat ook maar :P

[ Voor 36% gewijzigd door Wolfboy op 05-05-2004 03:14 ]

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Het gaat dus om deze twee queries:
code:
1
2
3
4
5
6
7
8
9
10
SELECT 
  * 
FROM 
  artikelen 
WHERE 
  artikel_code = '".$trefwoord."' OR 
  artikel_omschrijving like '%".$trefwoord."%' AND
  reseller_id=0 
ORDER BY 
  artikel_naam

code:
1
2
3
4
5
6
7
8
9
SELECT
  * 
FROM
  artikelen 
WHERE 
  artikel_code = '".$trefwoord."' OR 
  artikel_omschrijving like '%".$trefwoord."%' AND 
  reseller_id='%id' 
ORDER BY artikel_naam


Volgens mij zit je probleem in de OR. Doe bv eens:

code:
1
2
3
4
5
6
7
8
9
10
SELECT 
  * 
FROM 
  artikelen 
WHERE 
  reseller_id=0 AND
  (artikel_code = '".$trefwoord."' OR artikel_omschrijving like '%".$trefwoord."%') 
  
ORDER BY 
  artikel_naam


//edit

Je ziet, op deze manier geschreven is zo'n query een stuk duidelijker. Ik weet niet of bovenstaande een rechtstreekse cut/past uit je code is, maar probeer dat wat op te ruimen. Je zult jezelf later dankbaar zijn!

[ Voor 37% gewijzigd door Verwijderd op 05-05-2004 00:50 ]


Verwijderd

Topicstarter
Mannen,

Mijn dank is wederom groot. Jullie blijven me verbazen ;-), weer iets geleerd. Heb hier 4 uur op liggen knutselen en hier binnen 4 minuten al antwoord. Top! Complimenten.

  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik heb je indentering maar even aangepast, het is wat duidelijker leesbaar zo 8)7
(Die laatst accolade klopt trouwens niet, maar je hebt wellicht een regel teveel gecopypaste)

[ Voor 37% gewijzigd door .oisyn op 05-05-2004 01:14 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.