สร้างฟอร์ม ส่งค่าวันที่เพื่อแสดงข้อมูลรายเดือนอย่างง่าย

เขียนเมื่อ 7 ปีก่อน โดย Ninenik Narkdee
date รายเดือน

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ date รายเดือน

ดูแล้ว 13,648 ครั้ง


ตัวอย่างโค้ดอย่างง่ายนี้ เป็นตัวอย่างการสร้างฟอร์ม สำหรับส่งค่าวันที่เริ่มเต้น
และวันที่สิ้นสุดของเดือนที่ต้องการ เพื่อใช้สำหรับการนำค่าไปเป็นเงื่อนไขในการแสดงข้อมูล
รายการที่ต้องการแบบรายเดือน โดยสามารถนำไปประยุกต์เพิ่มเติมได้
 
การแสดงจำนวนปี ในลิสรายการในตัวอย่างจะใช้ปี ย้อนหลังไป 2 ปี สามารถเปลี่ยนได้
ในส่วนของโค้ด
 
$data_year=intval(date("Y",strtotime("-2 year")));
 
สำหรับรายการจำนวนปีที่แสดง ในตัวอย่างแสดง 5 ปีนับจากปีย้อนหลังไปแล้ว 2 ปี สามารถเปลี่ยนจำนวนได้
ในส่วนของโค้ด
 
<?php for($i=0;$i<=5;$i++){ ?>
 
 
ตัวแปรที่เรา สามารถนำไปประยุกต์ใช้เพิ่มเติม คือ
 
echo $start_date_check."<br>"; // ได้ตัวแปรวันที่เริ่มต้นของเดือนไปใช้งาน
echo $end_date_check."<br>"; // ได้ตัวแปรวันที่สิ้นสุดของเดือนไปใช้งาน
 
 
ตัวอย่างรูปผลลัพธ์
 
 
ตัวอย่างโค้ดทั้งหมด

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
$thai_month_arr=array(
	"0"=>"",
	"1"=>"มกราคม",
	"2"=>"กุมภาพันธ์",
	"3"=>"มีนาคม",
	"4"=>"เมษายน",
	"5"=>"พฤษภาคม",
	"6"=>"มิถุนายน",	
	"7"=>"กรกฎาคม",
	"8"=>"สิงหาคม",
	"9"=>"กันยายน",
	"10"=>"ตุลาคม",
	"11"=>"พฤศจิกายน",
	"12"=>"ธันวาคม"					
);
?>
<br>
<div style="margin:auto;width:500px;">

  <form method="post" action="">
    เลือกเดือน
    <select name="month_check" id="month_check">
      <?php for($i=1;$i<=12;$i++){ ?>
      <option value="<?=sprintf("%02d",$i)?>" <?=((isset($_POST['month_check']) && $_POST['month_check']==sprintf("%02d",$i)) || (!isset($_POST['month_check']) && date("m")==sprintf("%02d",$i)))?" selected":""?> >
      <?=$thai_month_arr[$i]?>
      </option>
      <?php } ?>
    </select>
    ปี
    <select name="year_check" id="year_check">
	<?php
    $data_year=intval(date("Y",strtotime("-2 year")));
    ?>
      <?php for($i=0;$i<=5;$i++){ ?>
      <option value="<?=$data_year+$i?>" <?=((isset($_POST['year_check']) && $_POST['year_check']==intval($data_year+$i)) || (!isset($_POST['year_check']) && date("Y")==intval($data_year+$i)))?" selected":""?> >
      <?=intval($data_year+$i)+543?>
      </option>
      <?php } ?>
    </select>
    <input type="submit" name="showData" id="showData" value="แสดงข้อมูล" />
  </form>
  
  <br>
  <br>

<?php
 // ถ้าไม่มีการส่งเดือนและปีมา ให้ใช้เดือนและปีในขณะปัจจุบันนั้น เป้นตัวกำหนด
if(!isset($_POST['month_check']) && !isset($_POST['year_check'])){
	$date_data_check=date("Y-m-");// จัดรูปแบบปีและเดือนของวันปัจจุบันในรูปแบบ 0000-00-
	$num_month_day=date("t"); // หาจำนวนวันของเดืนอ
	$use_month_check = $date_data_check;	
	$start_date_check = $date_data_check."01";
	$end_date_check = $date_data_check.$num_month_day;
	echo $use_month_check."<br>";
	echo $start_date_check."<br>"; // ได้ตัวแปรวันที่เริ่มต้นของเดือนไปใช้งาน
	echo $end_date_check."<br>"; // ได้ตัวแปรวันที่สิ้นสุดของเดือนไปใช้งาน
}else{ // ถ้ามีการส่งข้อมูล เดือนและปี มา ให้ใช้เดือนและปี ของค่าที่ส่งมาเป้นตำกำหนด
	$date_data_check=$_POST['year_check']."-".$_POST['month_check']."-"; // จัดรูปแบบปีและเดืนอที่ส่งมาในรูปแบบ 0000-00-
	$num_month_day=date("t",strtotime($_POST['year_check']."-".$_POST['month_check']."-01")); // หาจำนวนวันของเดืนอ
	$use_month_check = $date_data_check;		
	$start_date_check = $date_data_check."01";
	$end_date_check = $date_data_check.$num_month_day;
	echo $use_month_check."<br>";
	echo $start_date_check."<br>"; // ได้ตัวแปรวันที่เริ่มต้นของเดือนไปใช้งาน
	echo $end_date_check."<br>"; // ได้ตัวแปรวันที่สิ้นสุดของเดือนไปใช้งาน
}
?>


</div>
</body>
</html>

 


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ







เนื้อหาที่เกี่ยวข้อง









URL สำหรับอ้างอิง





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ