rij selecteren aan de hand van een getal

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sietsko Bos

Sietsko Bos

18/04/2016 21:31:51
Quote Anchor link
Hallo,

Ik ben al een poosje aan het stoeien en kom er niet uit:

In mijn database staat:

min en max ingesteld op een (int) 10

artikel min max
sla 20 100
wortel 1 10
prei 50 150

Ik krijg een max getal mee van de user, bijvoorbeeld 200
Ik genereer met php een random nummer tussen 1 en 200, bijvoorbeeld 70

nu wil ik dat die alleen de rij met sla en prei uit de database haalt omdat het de enige 2 zijn waar 70 binnen de min en max vallen.

Hoe kan ik dit met een select bewerkstelligen?


Sietsko
 
PHP hulp

PHP hulp

18/12/2024 07:14:27
 
Peter K

Peter K

18/04/2016 21:35:20
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT * FROM tabel WHERE `min` >= '70' AND `max` <= '200'
 
Sietsko Bos

Sietsko Bos

18/04/2016 21:45:09
Quote Anchor link
Dat had ik ook al geprobeerd, maar dat werkt niet
 
Frank Nietbelangrijk

Frank Nietbelangrijk

18/04/2016 22:15:04
Quote Anchor link
Toch zou dat moeten werken dus ik zou nog maar eens heel goed kijken.

Wel mogen een aantal quotes weg omdat het hier om integers gaat.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT * FROM tabel WHERE `min` >= 70 AND `max` <= 200
 
Jan de Laet

Jan de Laet

18/04/2016 22:25:34
Quote Anchor link
SELECT * FROM tabel WHERE min <= 70 AND max >= 70
 
Sietsko Bos

Sietsko Bos

18/04/2016 23:05:32
Quote Anchor link
Ik denk dat Jan de Laet het dichtst in de buurt komt alleen wat te doen als het max getal bijvoorbeeld 110 is, dan zou hij nog steeds de sla en prei eruit halen omdat het getal max groter is dan 70. Want in dat geval zou ik alleen de sla rij willen hebben.

Toevoeging op 18/04/2016 23:10:50:

Ook dit werkt niet

SELECT * FROM Tabel WHERE min <= 70 AND max <= 110

Alleen de min of max werkt prima maar als ik de AND erbij gebruikt werkt de select niet goed
 
Thomas van den Heuvel

Thomas van den Heuvel

19/04/2016 00:31:23
Quote Anchor link
Waar je waarschijnlijk naar op zoek was is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT *
FROM tabel
WHERE <random waarde> BETWEEN `min` AND `max`


min en max zijn trouwens niet zo fantastisch gekozen omdat dit gereserveerde woorden zijn...
 
Jan de Laet

Jan de Laet

19/04/2016 06:51:31
Quote Anchor link
@Sietsko,
Dan moet je de test op max getal toevoegen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT * FROM tabel WHERE `min` <= 70 AND `max` >= 70 AND `max` <= max-getal


of op Thomas' zijn manier
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT *
FROM tabel
WHERE <random waarde> BETWEEN `min` AND `max`
AND `max` <= max-getal
Gewijzigd op 19/04/2016 06:53:23 door Jan de Laet
 
Sietsko Bos

Sietsko Bos

19/04/2016 08:14:04
Quote Anchor link
Helemaal geweldig Thomas en Jan dit was precies wat ik nodig had.
Ik heb gelijk ook de min en max aangepast omdat het gereserveerde woorden zijn.
Dank voor jullie hulp :)
 



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.