tarih sorgusu

K
korsan_cd
Misafir
veritabanımda satışlar diye bir tablo var içinde
date fielt var. (0000-00-00) şekinde.
2003 yılına ait bilgilleri mysql sorugu olarak nasıl çekerim.
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
$query=mysql_query("SELECT * From satislar WHERE tarih LIKE '2003%' ORDER BY tarih");
while ($sonuc = mysql_fetch_array($query)) {
echo $query[field];
echo "<br>";
}
 
0
Onaylı Üye
Üye
Katılım
15 Ağustos 2004
Mesajlar
279
Tepki puanı
0
veya...

$query=mysql_query("SELECT * From satislar WHERE tarih > '2002-12-31' and tarih < '2004-01-01' ORDER BY tarih");
while ($sonuc = mysql_fetch_array($query)) {
echo $query[field];
echo "<br>";
}
 
0
Onaylı Üye
Üye
Katılım
28 Ekim 2004
Mesajlar
2,366
Tepki puanı
1
Konum
/etc/istanbul.c
SELECT * from tablo where EXTRACT(YEAR FROM tarih_field) = '2003';

en cillop gibisi bu
 
K
korsan_cd
Misafir
herkeze çok çok teşekkür ederim.
bi küçük sorunum daha var.
Geçen haftaya ait satışları ekrana basmak istiyorum onu nasıl yaparım :eek:
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
MySQL'de kolay yolu var mi bilmiyorum ama php acisindan bir yaklasim asagidaki gibi olabilir, algoritma basitlestirilebilir sanirim biraz daha. Yilik ilk haftasi hatali sonuc verir yalniz bu, onu da eklemek lazim.

Kod:
$tarih = getdate();

if ($tarih['mday'] > 7) {       // Gun 7 gunden buyukse onceki hafta araligi icin 7 cikar
$gun = $tarih['mday'] - 7;
$ay = $tarih['month'];         // Ay ayni kalsin
} else
$gun = $tarih['mday'] + 23;   // Gun 7 den kucukse, bir onceki aya donecegi icin 23 ekle
$ay = $tarih['month'] - 1;    // Ay bir cikar
}
$aralik1 = $tarih['year']."-".$tarih['ay']."-".$tarih['gun'];
$aralik2 = $tarih['year']."-".$tarih['month']."-".$tarih['mday'];
$query=mysql_query("SELECT * From satislar WHERE tarih > '$aralik1' and tarih < '$aralik2' ORDER BY tarih");
 
0
Onaylı Üye
Üye
Katılım
28 Ekim 2004
Mesajlar
2,366
Tepki puanı
1
Konum
/etc/istanbul.c
mysql de yapılabilen bir sorgu varsa mutlaka ama mutlaka mysql kullanmak gerek.Hem performans saglar hemde makinanın Ramlarını boşuna yormamış oluruz.

SELECT * FROM tablo_adi WHERE WEEK(date_field) = WEEK(CURDATE())

;)
 
Geri
Üst