Bir yol buldum ama manuel ve sorunlu çalışacak. bunu bir döngüye sizce nasıl alabilirim.

$gun_sayisi = (($out_date - $in_date) /60/60/24);

echo 'Toplam Gün: '.$gun_sayisi;
echo '<hr>';


$donemsel_fiyat = $db->get_row("select tarih_ucret,id,tarih_bitis from donemsel_fiyatlar where is_id='". $db->escape($is_id)."' and  tarih_baslangic>=$in_date and (tarih_bitis>=$out_date or tarih_bitis<$out_date) order by tarih_baslangic asc limit 1");
burada şöyle bir algoritma düşündüm. Gün sayısı toplamını buluncaya sql sorgusunu yapması.

Örnegin gün sayısı 5 ilk dönemsel fiyat içerisinde olsa. (varsayalım belirlenmiş 10 günlük dönemsel fiyat içerisinde)

tek sorgu bitecek.

20 gün sayısı oldu diyelim.

Burada
1. dönemsel fiyattan 1 gün. (dönemsel fiyatın son gününe denk geliyor diyelim)
2. dönemsel fiyattan (sonraki dönemsel fiyatın hepsini kapsıyor. 17)

Toplam 18 gün yaptı.

3. dönemsel fiyattan ise ilk 2 günü karşılıyor.

Bu durumda hesap şu şekilde olacak

Fiyat Tablosu:
1. dönem = 30
2. dönem = 40
3. dönem = 50

1*30 = 30
17*40 = 680
2 * 50 = 100

Toplam 850 TL işçinin alacağı çıkıyor.

Buradaki koşulu döngüye sokmak gerekiyor çünkü bu çalışma süresi 1 yılda olabilir.