Mikä mättää kun tää ei toimi? Sivulla on kaksi nappia johon syötetään alkupäivämäärä ja loppupäivämäärä sen jälkeen kannasta pitäisi hakea näiden päivämäärien välissä olevat rivit.
<?php $haku=mysql_query("SELECT * FROM varastotapahtumat WHERE pvm BETWEEN '$alkupvm' AND '$loppupvm'"); ?>
Kannattaa tulostaa query jotta näet mitä muuttujat sisältää. Ja debuggausta auttaa myös loppuun lisätty 'or die(mysql_error())'. Ja samalla näet onko päivämäärät oikeassa muodossa (miten ikinä sulla nuo ajat tuolla kannassa onkaan, toivottavasti oikein).
Tuo päivämääräjuttu on varmasti se mikä pissii. Päivämäärät pitää syöttää 'himpsujen' sisään ja toiseksi ne pitää olla hieman erikoisessa muodossa. (mahdollisia tietokanta, järjestelmä, asetus, ym eroja en tarkkaan tunne)
Esimerkki lauseesta:
select e_id, birth_date from employee_per where birth_date BETWEEN '1969-01-01' AND '1974-01-01'
Mulla on päivämäärät kannassa muotoa: 8.11.2005 samalla lailla olen syöttänyt ne noihin kahteen muuttujaan...
Siis... Onko sulla ne päivämäärät kannassa jossain tekstikentässä vai mistä vivusta vääntämällä olet saanut ne tuohon muotoon? Standardin mukaan ne menee vvvv-mm-vv, kuten Meitzi sanoi ja jos sulla on kentän tyyppinä joku date tai vastaava, niin kyllä sen kannan tulisi huolehtia automaattisesti, että ne on siellä oikeassa muodossa.
SQL kannassa se pvm kenttä on VARCHAR. Kirjoitan PHP:llä päivämäärän siihen kenttään. Onko ongelma?
On :) VARCHAR on tekstikenttä. Laitat tyypiksi DATE tmv.
olisin käyttänyt mielummin VARCHAR tyyppiä kun sinne saa tallentaa siihen muotoon mihin haluaa, kun taas date on muotoa yyyy.mm.dd. Sit tätä saa taas muutella php:llä haluamaansa muotoon (dd.mm.yyyy). Olisi paljon helpompaa kun sen sais kannasta tulostettua just niinku haluaa...
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
Ja tosta etsit kohdan DATE_FORMAT
Saa muokattua suoraan haluamaansa muotoon. Vähän kuin date().
Joo, todellakin VARCHAR kuuseen ja joku aikakenttä tilalle. MySQL:ssä on vimpan päälle funktiot ajan käsittelyyn, joten säästät paljon php-koodia ja näppäimistöä, kun opettelet käyttämään noita MySQL:n aika- ja päivämääräfunktioita!
Joo niin teen!!! Pikkuhiljaa hyvä tulee... heh
Aihe on jo aika vanha, joten et voi enää vastata siihen.