Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]porównywanie DAT mysql
Forum PHP.pl > Forum > Przedszkole
josephin_1
Witam, mam następujący problem:

wykonuje nastepujace zapytanie do bazy:

$zapytanie ="SELECT *FROM firmy where status='5' AND login_pracownika = '$login' AND data_zakonczenia <= '$dzisiaj'";

format daty w bazie: 0000-00-00
$dzisiaj = date("Y-m-d");

niby wszystko ladnie pieknie, ale jezeli data_zakonczenia w bazie jest 2008-04-27 to sie krzaczy i nie zaznacza rekordu

Jezeli ktora kolwiek wartosc rok miesiac dzien jest wieksza niz r-m-d to warunek idzie sie je........
np data_zakonczenia: 2008-01-29 a dzisiaj to np 2008-02-01 to pokaze ze pierwsza data jest wieksza

Czy ktos juz sie borykal z tymproblemem? mozna to jakos sensownie porownac?
W php napisalem specjalna funkcje do tego:


function porownanie_dat($data_dzisiejsza, $data_porownanie)
{
$tablica1= explode("-", $data_dzisiejsza);
$tablica2= explode("-", $data_porownanie);
global $blad_porownania;
$blad_porownania=0;
switch(1)
{
case '1':
if($tablica1[2]>$tablica2[2]){$blad_porownania=1; break;}
case '2':
if($tablica1[1]>$tablica2[1] AND $tablica1[2]==$tablica2[2]){$blad_porownania=1; break;}
case '3':
if($tablica1[0]>$tablica2[0] AND $tablica1[1]==$tablica2[1]){$blad_porownania=1; break;}
}
}

i pozniej juz sprawdzam tylko zmienna $blad_porownannia i gra gitara

Jak cos takiego zrobic w zapytaniu mysqla?? czy musze rozdzielac date na czynniki pierwsze??
scanner
Po pierwsze - pokaż zapytanie CREATE TABLE dla tej tabeli - albo chociaż powiedz, jakiego typu kolumną jest data_zakonczenia
Po drugie - skoro porównujesz z "dzisiaj", to czemu nie zapytasz tak:
  1. <?php
  2. $zapytanie = "SELECT * FROM firmy WHERE status = 5 AND login_pracownika = '$login' AND data_zakonczenia <= NOW()";
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.