การวน Loop วันที่เพื่อจะขายตั๋ว

เริ่มโดย test_one, 05 ตุลาคม 2014, 10:13:56

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

test_one

การวน Loop วันที่เพื่อจะขายตั๋ว  คือ
เลือกวันที่  2014-10-28  ถึง  2014-11-02  เท่ากับ  5   แต่ ภายใน  5  วัน อยากรู้ว่ามีวันอะไรบ้างค่ะ  เพื่อเอาไปเช็คราคาขายตั๋วว่า 5 วันนั้นมีราคาอะไรบ้าง

รบกวน หน่อยนะค่ะ ว่าต้อง วน Loop อย่างไร เพื่อให้ได้ วันนวนวันระหว่าง ค่ะ

NightClub

ไม่แน่ใจคำถาม

ถ้าหาจำนวนวัน

ใช้ คำสั่ง strtotime แปลงเป็น unix time ก่อนทั้งวันเริ่มต้น และสิ้นสุด

จากนั้น เอาวันสิ้นสุด - วันเริ่มต้น

เอาค่าที่ได้มา หารกับ (3600*24)


ถ้าหาว่ามีวันอะไรบ้าง

ใช้สูตรด้านบนหาจำนวนวัน
จากนั้นวนลูปโดย เอา unixtime เริ่มต้น มาหาค่า กับ function date ว่าวันนั้นเป็นวันอะไร
พอสั้นคำสั่งก็ +เพิ่มเวลาไปอีก 3600*24 ให้ครบจำนวนวัน
รับจ้างเขียนโปรแกรม PHP งานมืออาชีพ เสร็จตามที่กำหนด ราคาปานกลาง
เหมาะกับผู้ที่รับงานมาแล้วส่งต่อจ๊ะ PM มาเลย

Extra Cash

ใช้ภาษาอะไรครับถ้า 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=วันอาทิตย์)

[direct=http://www.prodipper.com]PRO DIPPER
ตัวแทนจำหน่าย สีลอกได้ Plasti Dip แท้
อย่างเป็นทางการจาก Performix อเมริกา
[/direct]
       [direct=http://www.votejung.com]โหวดจัง
       โปรโมทเว็บไซต์ฟรี![/direct]
       [direct=http://fbfansmaster.com]FB FANS MASTER
       Buy Facebook Likes[/direct]

dualkore

แบบ 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>";
}
คนเรามีความพยายามเท่ากันแต่...ใช้ไม่เท่ากัน

test_one

ขอบคุณทุกความคิดเห็นค่ะ เป็น php   ขอบคุณค่ะ  :wanwan017: :wanwan017: :wanwan017:

test_one

ขอเพิ่มเติมอีกนิดนะค่ะ
คือ เมื่อรู้แล้วว่า วันนั้นขายตั๋วราคาอะไรแล้ว ต้องการเฉลี่ยราคาตั๋ว 
ถ้า
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

dualkore

งง กลับคำถามและ ตัวอย่างที่ให้มาครับ  :P
คนเรามีความพยายามเท่ากันแต่...ใช้ไม่เท่ากัน

test_one

#7
อ้างถึงจาก: dualkore ใน 06 ตุลาคม 2014, 11:58:25
งง กลับคำถามและ ตัวอย่างที่ให้มาครับ  :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  ได้ไหม ค่ะ


kunnarakkup

อ้างถึงจาก: dualkore ใน 06 ตุลาคม 2014, 11:58:25
งง กลับคำถามและ ตัวอย่างที่ให้มาครับ  :P

น่าจะถามว่า วันที่ 2014-10-28  =  300 ขายราคาตั๋ว 300 ไป 5 ใบ แล้วคิดค่าเฉลี่ยของตัว 300 ที่ขายไป5 ใบละมั้ง

NeoSmith

ช่วยเหลือผู้ป่วยโรคเอดส์กับทางวัดพระบาทน้ำพุง่ายๆ ด้วยการโทร
1900 222 200
ครั้งละ 15 บาท
รับออกแบบ-เขียนแบบ บ้าน อาคารพานิชย์ อพาร์ทเมนท์ โรงงานฯ โดยทีมวิศวกรผู้ชำนาญงานมากว่า 30 ปี
[direct=http://xn--l3cjbax7b2c3a0dye2b5b5c.com]หาเพื่อน,หาแฟน,หากิ๊ก นัดเพื่อน Line[/direct]

dualkore

อ้างถึงจาก: test_one ใน 06 ตุลาคม 2014, 13:06:11
อ้างถึงจาก: dualkore ใน 06 ตุลาคม 2014, 11:58:25
งง กลับคำถามและ ตัวอย่างที่ให้มาครับ  :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>";
   }
}
คนเรามีความพยายามเท่ากันแต่...ใช้ไม่เท่ากัน

dragons_first

รับทำเว็บไซต์ ตามขอบเขตของลูกค้าราคาเบาๆ

รับแก้สคริปท์ เพิ่มระบบ เปลี่ยนแปลงเลเอาท์เว็บไซต์ จัด cssใหม่ แก้การแสดงผลผิดเพี้ยน
ท่านจะได้รับการบริการที่เป็นกันเอง ราคาไม่แพง ต่อรองได้(แต่ไม่น่าเกลียด) คุยกันฉันมิตร นะฮ๊าฟฟฟฟฟ