मेरा फ़ॉर्म 2 क्षेत्रों है - Time_from और Time_toदिनांक समय जोड़ने के 1 दिन
अब मैं प्रत्येक दिन के लिए मेरी डेटाबेस में एक प्रविष्टि जोड़ने के लिए पूर्व (यदि थेरेस उन दिनों के बीच एक अंतर है) की जरूरत है। Time_from = 2013-08-26 08:00:00 और Time_to = 2013-08-28 16:00:00 तो मेरी डेटाबेस में मैं मिलना चाहिए 3 प्रविष्टियों
Time_from = 2013-08-26 08:00:00 and Time_to = 2013-08-26 16:00:00
Time_from = 2013-08-27 08:00:00 and Time_to = 2013-08-27 16:00:00
Time_from = 2013-08-28 08:00:00 and Time_to = 2013-08-28 16:00:00
तो उस उद्देश्य के लिए मैं एक बना दिया है विधि, जहां मुझे पहली बार उन 2 तिथियों के बीच अंतर मिलता है और फिर मैं लूप के लिए उपयोग कर रहा हूं जो कि उन 2 तिथियों के अंतर में कई दिनों तक चलता रहेगा, और अंत में मैं केवल 1 दिन जोड़ रहा हूं।
public function createOffer($offer)
{
$time_from = new DateTime($offer->time_from);
$time_to = new DateTime($offer->time_to);
$interval = $time_from->diff($time_to);
for ($counter = 0; $counter <= $interval->d; $counter++) {
$offer->time_from = $time_from->format('Y-m-d H:i:s');
$offer_time_to = new DateTime($time_from->format('Y-m-d'));
$offer_time_to->setTime($time_to->format('H'), $time_to->format('i')
, $time_to->format('s'));
$offer->time_to = $offer_time_to->format('Y-m-d H:i:s');
if ($offer->validate()) {
$offer->save();
}
date_modify($time_from, '+1 day');
}
}
किसी कारण से, कोड काम नहीं करता।
जब मैं date_modify क्षेत्र केवल पहले दिन मेरी डेटाबेस में सहेजा जाएगा निकाल सकते हैं (लगता पाश के लिए उसके बाद ही एक बार चल रहा है)
लेकिन मेरे कोड में date_modify के साथ, केवल अंतिम दिन में सहेजा जाता है डेटाबेस।
$ अंतराल> घ वहाँ कोई "दिन" अंतर है, केवल घंटे, बार में दिए गए तो पाश केवल एक बार – Anigel
तो अंतर चलेंगे है दिनों के बीच केवल मुझे घंटे दिखाया गया है? – CreamYGEEK
http://phpfiddle.org/main/code/3r1-6hc क्या आप वाकई अंतराल के बजाय $ अंतराल-> एच नहीं चाहते हैं-> डी – Anigel