in QUERY een range aangeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Frank

Frank

06/06/2006 11:57:00
Quote Anchor link
Beste PHP-ers, ik heb een vraagje.

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
 
PHP hulp

PHP hulp

17/11/2024 02:36:49
 
Remco van Arkelen

Remco van Arkelen

06/06/2006 12:03:00
Quote Anchor link
SELECT bla FROM tabel WHERE beoordeling BETWEEN 2 AND 4
 
Robert Deiman

Robert Deiman

06/06/2006 12:04:00
Quote Anchor link
SELECT colom_naam FROM tabel_naam
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
 
Frank

Frank

06/06/2006 13:16:00
Quote Anchor link
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.

Gr.
Frank
 
- SanThe -

- SanThe -

06/06/2006 13:20:00
Quote Anchor link
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."";
 
Frank -

Frank -

06/06/2006 13:32:00
Quote Anchor link
Eh, jongens (en meisjes), misschien is het een idee om de query eens wat beter (lees: overzichtelijker) te noteren?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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

?>

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 -
 
Frank

Frank

06/06/2006 14:52:00
Quote Anchor link
Heel fijn dat het gelukt is maar nog 1 vraagje:

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
 
Klaasjan Boven

Klaasjan Boven

06/06/2006 14:59:00
Quote Anchor link
Probeer eens 'deci,mal' ipv dec.mal
 
Frank -

Frank -

06/06/2006 15:19:00
Quote Anchor link
Zie de 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.
 
Frank

Frank

06/06/2006 15:48:00
Quote Anchor link
Ik heb het nagekeken en ben weer helemaal op de hoogte. Bedankt!!!!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.