Zoeken tussen 2 waarden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans Hermes

Hans Hermes

19/08/2009 08:47:00
Quote Anchor link
Hallo,

Ik heb een database veld (rolomtrek).
Ik heb hier 2 records ingemaakt minimale-omtrek en maximale omtrek.
Deze records worden gevuld met omtrekgegevens uit ons rollenbestand.
De minimale en maximale omtrek is vernoemd omdat bij een draaiende lijn de rollen slijten.
Ik vul de database bijvoorbeeld met minimale-omtrek waarde: 1900 en maximale omtrek waarde; 1905
Nu wil ik een rol zoeken doormiddel van een zoekveld op een formulier waarbij ik ingeef een waarde 1903.
Op de resultaatspagina moet hij dan aangeven rol 1905
Ik heb het geprobeerd met de BETWEEN AND functie alleen zoiets als

SELECT *
FROM rolomtrek
WHERE installatie LIKE %_GET['zoekveld']% BETWEEN minimale-omtrek AND maximale-omtrek.

geeft foutmeldingen.
Misschien dat iemand de oplossing weet.

Alvast bedankt.

De recordnamen zijn omtrek1 en omtrek2 inderdaad geen- gebruikt. Dit gold alleen als voorbeeld.
Ben nu op mijn werk maar vanavond probeer ik het thuis en zal eventuele foutmeldingen ook plaatsen.
Bedankt alvast voor jullie reacties

Om nog even terug te komen op het probleem, als ik het zo invul als Jan het als voorbeeld gaf (behalve de -) hij heet nu diameter1 en diameter2 en ik vul in het zoekveld de waarde 1903 in dan vind hij niets. Uiteraard klopt dit want de minimale waarde = 1900 en de maximale waarde = 1905 want 1903 staat niet in de database. Ik wil dat als ik bijv 1903 of 1901 invul dat hij weet dat hij in het goede record zit want 1903 valt tussen 1900 en 1905 en dan de maximale diameter weergeeft in dit geval diameter2
Gewijzigd op 01/01/1970 01:00:00 door Hans Hermes
 
PHP hulp

PHP hulp

29/03/2024 06:24:41
 
Jan Koehoorn

Jan Koehoorn

19/08/2009 10:15:00
Quote Anchor link
WHERE $_GET['zoekveld'] BETWEEN minimale-omtrek AND maximale-omtrek

Vergeet niet je $_GET te beveiligen door eerst met ctype_digit te checken of het wel een getal is.
 
Elwin - Fratsloos

Elwin - Fratsloos

19/08/2009 10:24:00
Quote Anchor link
Hans schreef op 19.08.2009 08:47:
geeft foutmeldingen.
Gaf jij die ook maar. Dan hoefden we niet te gokken.
 
Jan Koehoorn

Jan Koehoorn

19/08/2009 10:26:00
Quote Anchor link
Ik vraag me ook af of dat min-teken in veldnamen wel toegestaan is. Mocht het niet zo zijn, ga dan niet met backtics zitten klooien, maar verzin geldige veldnamen.
 
Elwin - Fratsloos

Elwin - Fratsloos

19/08/2009 10:39:00
Quote Anchor link
Aanvulling op Jan
Ik weet wel zeker dat dat niet mag. Wat er nu staat is 'minimale MIN omtrek' (als in aftrekken).

Als alternatief zou je underscores kunnen gebruiken.
 
Jan Koehoorn

Jan Koehoorn

19/08/2009 22:43:00
Quote Anchor link
@ Hans: wat krijg je als je deze query uitvoert:

SELECT *
FROM rolomtrek
WHERE 1903 BETWEEN diameter1 AND diameter2
 
Hans Hermes

Hans Hermes

20/08/2009 07:40:00
Quote Anchor link
Nou ik ben er uit, ik snap niets van dit mysqpl statement maar hij zoek keurig de maximale omtrek van de rol Hier de oplossing:

SELECT *
FROM rolomtrek
WHERE BETWEEN diameter1 AND colname diameter2

(colname is een variabele in dreamweaver welke overeenkomt met het
$_POST['zoekveld'] op de zoekpagina)

Even voor mij maar in de SQL taal staat nu toch:
selecteer alles
in de tabel rolomtrek
waar tussen diameter1 en (gezocht getal) diameter2
 



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.