आपको केवल एक अच्छी MySQL क्वेरी करने की आवश्यकता है।
देखें यहां ।
आप जोड़, घटाव, और चीजें जैसे date BETWEEN x AND Y
कर सकते हैं , आप एक SELECT SUM()
कर सकते हैं GROUP BY
के साथ
और इसी तरह।
हाकन का क्या अर्थ है (मुझे लगता है) यह है कि आप इसे गलत तरीके से कर रहे हैं:आपको पहले एक प्रश्न करना चाहिए जो आपके लिए लगभग सभी काम करता है। ऐसी जटिल चीज विकसित करने की जरूरत नहीं है।
और तीन अन्य सलाह:
- PHP में
$expense->Date
. जैसे कीवर्ड से बचने की कोशिश करें . यह सिंटैक्स को हाइलाइट करने में समस्याएं पैदा करता है (सर्वश्रेष्ठ . में मामले में, सबसे खराब . में Php आपके कोड को नहीं समझेगा)। - आप जो करने का प्रयास कर रहे हैं उसे समझाने के लिए अपने कोड में और टिप्पणियां जोड़ें।
- PHP में कीवर्ड से बचने का प्रयास करें और एसक्यूएल प्रश्न। आपके पास '
Date
. नाम का एक कॉलम है ' और 'Type
. नाम का एक कॉलम '। यह सुरक्षित नहीं है।
आपका SQL कैसा दिख सकता है, इसकी शुरुआत यहां दी गई है, और इसमें आपके कोड का लगभग 95% हिस्सा शामिल होना चाहिए। नोट:यह एक सुझाव है:सभी डेटाबेस सर्वर को आपके लिए काम करने दें, यह उसी के लिए बनाया गया है:
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'