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.
Bedankt voor jullie reacties. De kolom heb ik op INT staan. Met between echter lukt het niet zo goed. Dit is mijn query:
$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.
Probeer deze eens:
$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."";
Eh, jongens (en meisjes), misschien is het een idee om de query eens wat beter (lees: overzichtelijker) te noteren?
<?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
?>
Dit maakt de query toch een heel stuk leesbaarder, of niet soms? ;)
Edit: Nog even 2x ASC toegevoegd om het compleet te maken.
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??