Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

query datetime kolone problem

[es] :: PHP :: PHP za početnike :: query datetime kolone problem

[ Pregleda: 1691 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vladapetr
Vladimir Petrovic
Beograd

Član broj: 255606
Poruke: 7
212.178.227.*



Profil

icon query datetime kolone problem28.07.2011. u 01:13 - pre 154 meseci
Ovako:
imam aplikaciju koja je radjena u CI, mada mislim da to ovde nije presudno. U bazi je tabela u kojoj su neki podaci o korisnicima, kao i datum i vreme kada su ti podaci upisani. Datum i vreme se nalaze u koloni application_date, tipa datetime. Na odredjenoj stranici aplikacija izbaci listu svih upisanih korisnika, sa svim podacima. Sve do sada radi ok.

Hteo sam da ubacim opciju da mogu da izlistam samo korisnike koji su upisani u odredjenom vremenskom intervalu. Dodao formu sa 2 textfield-a u koja se upisuje datum i vreme, klikom na submit pozivam funkciju koja na osnovu te 2 vrednosti uradi query baze. Ali, nece

Naime, u odgovarajucem kontroleru sam ubacio funkciju:
Code:
function dateQuery()
    {

        $data           = array();
        $date1 = date('Y-m-d H:i:s', strtotime($this->input->post('date1')));
        $date2 = date('Y-m-d H:i:s', strtotime($this->input->post('date2')));
        
        $query          = $this->db->query('SELECT * FROM `data` WHERE application_date BETWEEN "$date1" and "$date2"');
        $db_data        = $query->result();
        
        $data['db_data']= $db_data;

        $this->parser->parse('admin/queryContent', $data);
    }


Funkcija index() u tom kontroleru izgleda identicno ovoj f-ji, samo nema definisanje $date1 i $date2, a kao view u parseru poziva samo "content"(koji je identican ovom "queryContent" view-u). Sve to radi ok, ali ovaj deo sa vremenskim intervalom - ne radi.

Problem je izgleda u query-u. Ako ostavim samo ('SELECT * FROM `data`') izbaci celu tabelu.
$date1 je npr 1. februar, $date2 je 1. maj. Imam korisnike upisane, i pre, i izmedju, i posle oba datuma. Stavim query npr ('SELECT * FROM `data` WHERE application_data > "$date1" ') i opet izbaci celu tabelu. Stavise, u taj query koji god datum da stavim(cak i iz buducnosti) uvek izbaci celu tabelu, a isto tako - koji god datum da stavim u query koji glasi application_data < "$date1" ne izbaci nista, ma koji datum da stavim kao $date1 !?

Kada uradim var_dump od $date1 i to posle query-a dobijem da je to string(19) koji glasi npr "2011-02-01 00:00:01", dakle - istog formata kojeg je i kolona application_date.
Sve deluje kako treba i trebalo bi da radi, ali ne radi...

U cemu je fazon?
Hvala unapred



Kids, you tried your best and you failed miserably.
The lesson is, never try.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.rs.



+19 Profil

icon Re: query datetime kolone problem28.07.2011. u 04:46 - pre 154 meseci
Probaj umesto "$date1" da stavis \''.$date1.'\'
Slicno i za $date2.

Osnove rada sa stringovima.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: query datetime kolone problem28.07.2011. u 09:13 - pre 154 meseci
Ili koristi Variable parsing feature:
Code (php):

$this->db->query("SELECT * FROM `data` WHERE application_date BETWEEN '$date1' and '$date2'");
 

 
Odgovor na temu

vladapetr
Vladimir Petrovic
Beograd

Član broj: 255606
Poruke: 7
212.178.227.*



Profil

icon Re: query datetime kolone problem28.07.2011. u 12:45 - pre 154 meseci
Hvala veliko, problem resen
Kids, you tried your best and you failed miserably.
The lesson is, never try.
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: query datetime kolone problem

[ Pregleda: 1691 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.