Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP+SQL kysely

Sivun loppuun

jarspa [09.11.2005 22:21:52]

#

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'");
?>

Olga [09.11.2005 22:43:37]

#

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).

Meitzi [09.11.2005 23:11:59]

#

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'

jarspa [10.11.2005 07:00:53]

#

Mulla on päivämäärät kannassa muotoa: 8.11.2005 samalla lailla olen syöttänyt ne noihin kahteen muuttujaan...

ajv [10.11.2005 07:05:53]

#

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.

jarspa [10.11.2005 07:14:43]

#

SQL kannassa se pvm kenttä on VARCHAR. Kirjoitan PHP:llä päivämäärän siihen kenttään. Onko ongelma?

ajv [10.11.2005 07:24:17]

#

On :) VARCHAR on tekstikenttä. Laitat tyypiksi DATE tmv.

jarspa [10.11.2005 11:53:15]

#

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...

coaster [10.11.2005 13:40:32]

#

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().

ajv [10.11.2005 16:41:41]

#

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!

jarspa [10.11.2005 17:37:15]

#

Joo niin teen!!! Pikkuhiljaa hyvä tulee... heh


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta