Nederbasse skrev:
> Jeg skal hente data ud fra en Mysql db, i et php script, som
> er nyerer end dagens dato.
Er det ikke svært at arbejde med php-script der endnu ikke er
skrevet
> SELECT id, navn, afd, laan_fra, laan_til, bem, laan FROM
> udlaan WHERE laan_fra >= CURDATE() AND laan = 'cykel 1' OR
> laan = 'cykel 2' ORDER BY 'laan_fra' ASC
Når du både arbejder med AND og OR er det en god ide at anvende
parenteser - eller kan man få nogle grimme overraskelser.
AND binder stærkere end OR, så dit kriterium herover bliver tolket
som:
(laan_fra >= CURDATE() AND laan = 'cykel 1')
OR (laan = 'cykel 2')
Det du formentlig gerne vil have er følgendE:
(laan_fra >= CURDATE() )
AND (laan = 'cykel 1' OR laan = 'cykel 2')
En måde at undgå forvirringen med AND og OR er at benytte
operatoren IN når man skal give flere valgmuligheder til et felt.
... WHERE felt IN ('a', 'b', 'c')
er det samme som
... WHERE (felt = 'a' OR felt = 'b' OR felt = 'c')
Din forespørgsel kan derfor også skrives:
SELECT id, navn, afd, laan_fra, laan_til, bem, laan
FROM udlaan
WHERE laan_fra >= CURDATE()
AND laan IN ('cykel 1', 'cykel 2')
ORDER BY 'laan_fra' ASC
- så slipper du for OR og dermed for at tænke på hvordan OR og AND
kombineres.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen