|
หัวข้อ: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: test_one ที่ 05 ตุลาคม 2014, 10:13:56 การวน Loop วันที่เพื่อจะขายตั๋ว คือ
เลือกวันที่ 2014-10-28 ถึง 2014-11-02 เท่ากับ 5 แต่ ภายใน 5 วัน อยากรู้ว่ามีวันอะไรบ้างค่ะ เพื่อเอาไปเช็คราคาขายตั๋วว่า 5 วันนั้นมีราคาอะไรบ้าง รบกวน หน่อยนะค่ะ ว่าต้อง วน Loop อย่างไร เพื่อให้ได้ วันนวนวันระหว่าง ค่ะ หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: NightClub ที่ 05 ตุลาคม 2014, 10:44:53 ไม่แน่ใจคำถาม
ถ้าหาจำนวนวัน ใช้ คำสั่ง strtotime แปลงเป็น unix time ก่อนทั้งวันเริ่มต้น และสิ้นสุด จากนั้น เอาวันสิ้นสุด - วันเริ่มต้น เอาค่าที่ได้มา หารกับ (3600*24) ถ้าหาว่ามีวันอะไรบ้าง ใช้สูตรด้านบนหาจำนวนวัน จากนั้นวนลูปโดย เอา unixtime เริ่มต้น มาหาค่า กับ function date ว่าวันนั้นเป็นวันอะไร พอสั้นคำสั่งก็ +เพิ่มเวลาไปอีก 3600*24 ให้ครบจำนวนวัน หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: Extra Cash ที่ 05 ตุลาคม 2014, 11:33:32 ใช้ภาษาอะไรครับถ้า VB ก็ประมาณนี้
Dim dt As Date For dt = #2014-10-28# To #2014-11-02# Debug.Print Weekday(dt) Next Weekday(dt) จะ return วันตั้งแต่ 1-7 (1=วันอาทิตย์) หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: dualkore ที่ 05 ตุลาคม 2014, 11:57:44 แบบ php
<?php $st = date('Y-m-d',strtotime('2014-10-28')); $ed = date('Y-m-d',strtotime('2014-11-07')); $sum = ceil((strtotime($ed) - strtotime($st)) / ( 3600 * 24 )); for($i=0;$i<=$sum;$i++ ){ $d1 = (3600 * 24)*$i; $day = date('Y-m-d',strtotime($st)+$d1); $d = date('d',strtotime($day)); $m = date('m',strtotime($day)); $y = date('Y',strtotime($day)); $day_number = cal_to_jd(CAL_GREGORIAN ,$m,$d,$y); $Weekday = jddayofweek($day_number,2); echo $day." - ".$Weekday."<br>"; } หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: test_one ที่ 05 ตุลาคม 2014, 14:24:12 ขอบคุณทุกความคิดเห็นค่ะ เป็น php ขอบคุณค่ะ :wanwan017: :wanwan017: :wanwan017:
หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: test_one ที่ 06 ตุลาคม 2014, 11:46:54 ขอเพิ่มเติมอีกนิดนะค่ะ
คือ เมื่อรู้แล้วว่า วันนั้นขายตั๋วราคาอะไรแล้ว ต้องการเฉลี่ยราคาตั๋ว ถ้า 2014-10-28 = 300 2014-10-29 = 200 2014-10-30 = 300 2014-10-31 = 300 2014-11-01 = 200 2014-11-02 = 300 เราจะขายตั๋ว ราคา 300 ค่ะ ไม่ทราบว่าต้องทำยังไงค่ะ รบกวนหน่อยนะค่ะ :-X หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: dualkore ที่ 06 ตุลาคม 2014, 11:58:25 งง กลับคำถามและ ตัวอย่างที่ให้มาครับ :P
หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: test_one ที่ 06 ตุลาคม 2014, 13:06:11 งง กลับคำถามและ ตัวอย่างที่ให้มาครับ :P วันที่ ราคาตั๋ว 2014-10-28 = 300 2014-10-29 = 200 2014-10-30 = 300 2014-10-31 = 300 2014-11-01 = 200 2014-11-02 = 300 คือ อยากจะดึง ราคา ที่เป็น 300 มาขาย ค่ะ เพราะ ราคา300 มี 4 วัน และ ราคา 200 มี 2 วัน ประมาณนี้ ค่ะ ถ้าไงขอ pm ได้ไหม ค่ะ หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: kunnarakkup ที่ 06 ตุลาคม 2014, 13:09:18 งง กลับคำถามและ ตัวอย่างที่ให้มาครับ :P น่าจะถามว่า วันที่ 2014-10-28 = 300 ขายราคาตั๋ว 300 ไป 5 ใบ แล้วคิดค่าเฉลี่ยของตัว 300 ที่ขายไป5 ใบละมั้ง หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: NeoSmith ที่ 06 ตุลาคม 2014, 13:19:22 งงกับคำถามเหมือนกัน
หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: dualkore ที่ 06 ตุลาคม 2014, 17:33:13 งง กลับคำถามและ ตัวอย่างที่ให้มาครับ :P วันที่ ราคาตั๋ว 2014-10-28 = 300 2014-10-29 = 200 2014-10-30 = 300 2014-10-31 = 300 2014-11-01 = 200 2014-11-02 = 300 คือ อยากจะดึง ราคา ที่เป็น 300 มาขาย ค่ะ เพราะ ราคา300 มี 4 วัน และ ราคา 200 มี 2 วัน ประมาณนี้ ค่ะ ถ้าไงขอ pm ได้ไหม ค่ะ <?php $st = date('Y-m-d',strtotime('2014-10-28')); $ed = date('Y-m-d',strtotime('2014-11-07')); $sum = ceil((strtotime($ed) - strtotime($st)) / ( 3600 * 24 )); for($i=0;$i<=$sum;$i++ ){ $d1 = (3600 * 24)*$i; $day = date('Y-m-d',strtotime($st)+$d1); $d = date('d',strtotime($day)); $m = date('m',strtotime($day)); $y = date('Y',strtotime($day)); $day_number = cal_to_jd(CAL_GREGORIAN ,$m,$d,$y); $Weekday = jddayofweek($day_number,2); if($ticket_day_price = 300){ echo $day." - ".$Weekday."<br>"; } } หัวข้อ: Re: การวน Loop วันที่เพื่อจะขายตั๋ว เริ่มหัวข้อโดย: dragons_first ที่ 06 ตุลาคม 2014, 17:59:43 ขอดูโค๊ดเต็มๆหน่อยครับ
|