in QUERY een range aangeven
In mijn database heb ik bepaalde waarden staan voor bijvoorbeeld de categorie 'beoordeling'. Deze lopen uiteen van 1-5.
Kan ik in mijn query ook opgeven dat alles tussen de twee en de vier moet worden geselecteerd??
Hte zal haast wel maar ik weet niet hoe. Wellicht kunnen jullie me op weg helpen.
Met vriendelijke groet,
Frank
SELECT bla FROM tabel WHERE beoordeling BETWEEN 2 AND 4
WHERE colom_naam
BETWEEN waarde1 AND waarde2
Voorwaarde is wel dat je kolom als INT hebt staan in dit geval met de cijfers, maar daar gaan we wel vanuit
$query="SELECT * FROM portfolio WHERE categorie='wijn' AND WHERE prijs BETWEEN ".$prijs1." AND ".$prijs2." AND WHERE cijfer BETWEEN ".$ster1." AND ".$ster2." ORDER BY ".$sort." ".$volgorde." LIMIT ".$offset.",".$limit."";
De variabelen vult hij allemaal netjes in maar krijg de melding:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\phpdev\www\wijn.php on line 509
Dit is lijn 509: while($rij=mysql_fetch_array($result)){etc.
Bin een simpele query doet hij het wel dus de query is niet goed. kan alleen niet zien wat er niet goed aan is. Heb nog nooit met BETWEEN gewerkt, vandaar.
Gr.
Frank
$query="SELECT * FROM portfolio WHERE categorie='wijn' AND prijs BETWEEN ".$prijs1." AND ".$prijs2." AND cijfer BETWEEN ".$ster1." AND ".$ster2." ORDER BY ".$sort.", ".$volgorde." LIMIT ".$offset.",".$limit."";
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$query="
SELECT
*
FROM
portfolio
WHERE
categorie='wijn'
AND
prijs BETWEEN ".$prijs1." AND ".$prijs2."
AND
cijfer BETWEEN ".$ster1." AND ".$ster2."
ORDER BY
".$sort." ASC,
".$volgorde." ASC
LIMIT ".$offset.",".$limit."
"; // die laatste 2 dubbele quotes zijn eigenlijk niet nodig
?>
$query="
SELECT
*
FROM
portfolio
WHERE
categorie='wijn'
AND
prijs BETWEEN ".$prijs1." AND ".$prijs2."
AND
cijfer BETWEEN ".$ster1." AND ".$ster2."
ORDER BY
".$sort." ASC,
".$volgorde." ASC
LIMIT ".$offset.",".$limit."
"; // die laatste 2 dubbele quotes zijn eigenlijk niet nodig
?>
Dit maakt de query toch een heel stuk leesbaarder, of niet soms? ;)
Edit: Nog even 2x ASC toegevoegd om het compleet te maken.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Als ik een decimale waarde, zeg 4.59, wil wegschrijven en ik gebruik DECIMAL dan zet hij gewoon 4 in de datbase. Hoe kan ik dit voor elkaar krijgen en kan je dit ook gebruiken in combinatie met BETWEEN of moet je dan echt INT gebruiken??
Bedankt.
Gr.,
Frank
Probeer eens 'deci,mal' ipv dec.mal
handleiding hoe je een DECIMAL moet gebruiken. De waarde 4.59 moet je gewoon kunnen wegschrijven in de database, geen enkel probleem.
BETWEEN heeft geen problemen met decimalen, kun je gewoon opgeven als waardes. BETWEEN 'a' AND 'c' werkt volgens mij ook.
Zie de BETWEEN heeft geen problemen met decimalen, kun je gewoon opgeven als waardes. BETWEEN 'a' AND 'c' werkt volgens mij ook.
Ik heb het nagekeken en ben weer helemaal op de hoogte. Bedankt!!!!