Zoeken tussen 2 waarden
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
Vergeet niet je $_GET te beveiligen door eerst met ctype_digit te checken of het wel een getal is.
Hans schreef op 19.08.2009 08:47:
Gaf jij die ook maar. Dan hoefden we niet te gokken.geeft foutmeldingen.
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.
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.
SELECT *
FROM rolomtrek
WHERE 1903 BETWEEN diameter1 AND diameter2
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