Syntax hatası yapmamışsam eğer, en az sorgu ile işini bitirmek için aşağıdaki kodları kullanman daha sağlıklı olur
$baslangic=$temp_bas= $_POST['baslangic'];
$bitis= $temp_bit = $_POST['bitis'];
$toplam=0;
$cek=true;
while($cek) {
$sorgu=mysql_query("SELECT fiyat,bitis FROM ücretler WHERE baslangic<='$temp_bas' AND bitis>='$bitis'");
$veri=mysql_fetch_assoc($veri);
$toplam+=$veri['fiyat'];
if($veri['bitis']>=$bitis)
$cek=false;
else {
$temp_bas_time=strtotime(date('d.m.Y',$veri['bitis']));
$temp_bas_time+=24*60*60;
$temp_bas=mktime(0, 0, 0, date("n", $temp_bas_time), date("j", $temp_bas_time), date("Y", $temp_bas_time) );
}
}yalnız uyarayım, bu şekilde düzgün çalışsa da tam yaz zamanına veya kış zamanına geçişlerde sorun yaşayabilirsin. aslında çözümü çok basit ama onu da sana bırakayım date('I',$veri['bitis']) ile date('I',$temp_bas) lar birbirine eşit mi kontrol edip eşit değilse 1 saat eklemen veya çıkartman gerekir. Bunu mktime satırından önce yaparsan hiç bir sorun yaşamaman gerekir
Üstadım bu mantıklada en düşük yada en yüksek fiyatı çekmekte.
Yapmış olduğum işlem ise aşağıdadır. Fiyat kırılmalarını da hesaba katmak için.