Anda hanya perlu melakukan query MySQL yang baik.
Lihat di sini .
Anda dapat melakukan penambahan, pengurangan, dan hal-hal seperti date BETWEEN x AND Y
, Anda dapat melakukan SELECT SUM()
dengan GROUP BY
dan seterusnya.
Apa maksud Hakan (saya kira) adalah bahwa Anda melakukannya dengan cara yang salah:Anda harus terlebih dahulu melakukan kueri yang membuat hampir semua bekerja untuk Anda. Tidak perlu mengembangkan hal rumit seperti itu.
Dan tiga saran lainnya:
- coba hindari kata kunci dalam Php seperti
$expense->Date
. Ini membuat masalah penyorotan sintaks (dalam terbaik kasus, di terburuk Php tidak akan memahami kode Anda). - tambahkan lebih banyak komentar dalam kode Anda untuk menjelaskan apa yang Anda coba lakukan.
- coba hindari kata kunci dalam Php DAN kueri SQL. Anda memiliki kolom bernama '
Date
' dan kolom bernama 'Type
'. Ini tidak aman.
Ini hanyalah permulaan dari tampilan SQL Anda, dan hampir harus mencakup 95% dari kode Anda. Catatan:ini adalah saran:biarkan semua server database melakukan pekerjaan untuk Anda, ini dibuat untuk itu:
SELECT
ps.Due,ps.Date,
wt.Amount,wt.Date,
ex.Amount,ex.Date
LEFT JOIN patient_sessions ps
ON xxx
WHERE ps.Type='Session'
AND ps.Date
BETWEEN DATE_ADD(NOW(), INTERVAL '-28' DAY)
AND DATE_ADD(NOW(), INTERVAL 1 DAY)
LEFT JOIN work_times wt
ON xxx
LEFT JOIN expenses ex
ON xxx
WHERE ex.Client='Psychotherapy'