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