Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามหน่อยครับ ถ้าสมมุติมีสิทธิลาหยุดได้ 15 วัน ใช้ลาหยุดไปตั่งแต่วันที่ 2016-04-18 ถึง 2016-04-21 จะเท่ากับหยุด 4 วัน



 

สอบถามหน่อยครับ ถ้าสมมุติมีสิทธิลาหยุดได้ 15 วัน ใช้ลาหยุดไปตั่งแต่วันที่ 2016-04-18 ถึง 2016-04-21 จะเท่ากับหยุด 4 วัน

 



Topic : 122373



โพสกระทู้ ( 84 )
บทความ ( 0 )



สถานะออฟไลน์




สอบถามหน่อยครับ ถ้าสมมุติมีสิทธิลาหยุดได้ 15 วัน ใช้ลาหยุดไปตั่งแต่วันที่ 2016-04-18 ถึง 2016-04-21 จะเท่ากับหยุด 4 วัน สิทธิลาหยุดรายการนี้ก็จะเหลือ 11 วัน แต่ถ้าหากจะ แก้ไขวันหยุด เป็นหยุด 2 วัน จะทำยังไงให้คืนค่าสิทธิลาหยุดจาก 11 วัน เป็น 13 วัน ครับ

//ฟอร์มแก้ไข วันลาหยุด//

อัฟเดตร ฟิลล์ Quota_number

Code (PHP)
<?
include"../connect_db.php";
$sql="select*from leave_leave left join quotas on(leave_leave.Quota_id= quotas.Quota_id) where leave_leave.Leave_id = '$_GET[Leave_id]' ";
$query=mysql_query($sql);
$check=mysql_fetch_array($query);
?>
    <form id="form1" name="form1" method="post" enctype="multipart/form-data" action="edit_leaveemp.php?Leave_id=<?=$check['Leave_id']; ?>" onsubmit="return check_txt()">
      <p><img src="../../icon/จัดทำใบลา1.gif" alt="" width="300" height="70" /></p>
            <p>&nbsp;</p>
            <table width="744" border="0">
              <tr>
                <td width="289">เอกสารแนบ</td>
                <td width="440">
                <?php 
				if($check['Leave_doc']==""){
					echo "<font color='red'>ไม่มีมี</font>";
				}else{
					echo "<font color='green'>มี</font>";
				}
				?>
                </td>
          </tr>
              <tr>
                <td width="290">ประเภทการลา</td>
                <td width="444">
                <?php
			//===========  แสดงหมวดหมู่
			$sql_group = "select * from quotas INNER JOIN leavetype on quotas.LeaveT_id=leavetype.LeaveT_id 
			LEFT JOIN employee on quotas.Emp_id=employee.Emp_id  where Emp_User='".$_SESSION['Emp_User']."' and Quota_id=$Quota_id";
			$dbquery_group = mysql_query($sql_group);
			$result1 = mysql_fetch_array($dbquery_group);
			?>
                <select name="Quota_id" id="Quota_id" class="txtbox">
                  <option value="<?=$result1["Quota_id"];?>"><?=$result1["LeaveT_name"];?></option>
                  <?php
			//===========  แสดงหมวดหมู่
			$sql_group = "select * from quotas INNER JOIN leavetype on quotas.LeaveT_id=leavetype.LeaveT_id 
			LEFT JOIN employee on quotas.Emp_id=employee.Emp_id  where Emp_User='".$_SESSION['Emp_User']."' and Quota_id order by Quota_id asc";
			$dbquery_group = mysql_query($sql_group);
			while ($result = mysql_fetch_array($dbquery_group)){
			?>
                  <option value="<?=$result["Quota_id"];?>" <?=$sel;?>>
                    <?=$result["LeaveT_name"];?>
                  </option>
                  <?php }?>
                </select></td>
              </tr>
        </table>
            <font size="4"></font>
            <table width="739" border="0">
                <tr>
                  <td width="289">วันที่เริ่มลา</td>
                  <td width="440">
                    <input type="date" name="Leave_date" id="Leave_date" value="<?php echo $check["Leave_date"];?>"/></td>
                </tr>
                <tr>
                  <td>วันสิ้นสุดการลา</td>
                  <td>
                    <input type="date" name="Leave_date1" id="Leave_date1" value="<?php echo $check["Leave_date1"];?>"/></td>
                </tr>
                <tr>
                  <td>เหตุผลการลา</td>
                  <td>
                    <textarea name="Leave_reason" id="Leave_reason" cols="45" rows="5"><?php echo $check["Leave_reason"];?></textarea></td>
                </tr>
                <tr>
                  <td>หลักฐานเอกสารแนบ</td>
                  <td><a href="file_quotas/<?=$check['Leave_doc'];?>"><?=$check['Leave_doc'];?></a> <br />
                    <input type="file" name="Leave_doc" id="Leave_doc"/>
                    <font color="#FF0000">*กรณีลาเกิน 3 วัน</font></td>
                </tr>
                <tr>
                  <td>เบอร์โทรศัพท์ที่สามารถติดต่อได้</td>
                  <td><label for="Leave_tell"></label>
                    <input type="text" name="Leave_tell" id="Leave_tell" value="<?php echo $check["Leave_tell"];?>"/></td>
                </tr>
        	</table>
        <p><table width="643" border="0">
              <tr>
              <td><font color="#FF0000"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;กรุณาระบุรายละเอียดการลาให้ชัดเจนและถูกต้องก่อนบันทึกการลา</font></td>
            </tr>
      </table>
      <font size="4">
        <p>
       	  <input type="hidden" id="id_edit" name="id_edit" value="<?php echo $check["Leave_id"];?>" />
          <input type="submit" name="button" id="button" value="เปลี่ยนแปลงข้อมูล" />
</form>


ส่วนี้จะเป็นโค้ด ครับ


Code (PHP)
<?
include "../connect_db.php";
	$Leave_id = $_GET["Leave_id"];//เช็คปุ่ม เมื่อมีการกดปุ่มจะทำงานวนลูป
	function CheckPublicHoliday($strChkDate){// function เช็คหาวันทีมีวันหยุดราชการ
		$query = "SELECT * FROM publicholiday WHERE publicholiday_year = '".$strChkDate."' ";
		$objQuery = mysql_query($query);
		$objResult = mysql_fetch_array($objQuery);
		if(!$objResult){
			return false;
		}
		else{
			//echo $objResult['publicholiday_details'];
			return true;
		}
		mysql_close($objConnect);
	}
	function holiday($strStartDate,$strEndDate){
		// ค่าเริ่มต้น รับวันเริ่มหยุด $strStartDate
		// ค่าเริ่มต้น รับวันสิ้นสุดหยุด $strEndDate
		$intWorkDay = 0;
		$intHoliday = 0;
		$intPublicHoliday = 0;
		$intTotalDay = ((strtotime($strEndDate) - strtotime($strStartDate))/  ( 60 * 60 * 24 )) + 1;  // หาจำนวนวันตั้งวันที่เริ่มหยุด ถึง วันที่สิ้นสุดหยุด รวมทั้ง ส อ
		while (strtotime($strStartDate) <= strtotime($strEndDate)) { // นับค่าจากวันที่เริ่มหยุด จากน้อยกว่าจนมีค่าเท่ากันกับ วันที่สิ้นสุดการหยุด
			$DayOfWeek = date("w", strtotime($strStartDate)); // จำนวนสัปดาห์ทั้งหมดนับตั้งแต่วันที่เริ่มหยุด
			if($DayOfWeek == 0 or $DayOfWeek ==6){  // 0 = Sunday, 6 = Saturday;
				$intHoliday++; // โชว์ค่าให้เห็นสำหรับวันหยุด ส อ
			}
			elseif(CheckPublicHoliday($strStartDate)){
				$intPublicHoliday++; // โชว์ค่าให้เห็นสำหรับวันหยุด ราชการ
			}
			else{
				$intWorkDay++; // โชว์ค่าวันที่ลา
			}
			$strStartDate = date ("Y-m-d", strtotime("+1 day", strtotime($strStartDate)));
		}
		/*echo "<hr><p style='font-size:12px;'>";
		echo "วันที่เริ่ม = $strStartDate <br>";
		echo "วันที่สินสุด = $strEndDate"; 
		echo "<br>วันหยุดทั้งหมดรวมเสาร์-อาทิตย์  = $intTotalDay";
		echo "<br>วันลาทั้งหมดไม่รวม ส อ และวันหยุดราชการ = $intWorkDay";
		echo "<br>วันหยุดเสาร์-อาทิตย์ = $intHoliday";
		echo "<br>วันหยุดราชการ = $intPublicHoliday";*/
		return $intWorkDay;
	}
	$Leave_number =  holiday($_POST['Leave_date'],$_POST['Leave_date1']); // จำนวนวันที่ลาที่ไม่รวม ส อ และวันหยุดราชการ
	
	//============  แก้ไขข้อมูลการลา
	$up_Leave = "UPDATE leave_leave SET  Quota_id='$_POST[Quota_id]',
		Leave_date='$_POST[Leave_date]',
	Leave_date1='$_POST[Leave_date1]',
	Leave_number='$Leave_number',
	Leave_reason='$_POST[Leave_reason]', 
	Leave_tell='$_POST[Leave_tell]' 
		WHERE  Leave_id = '$Leave_id'";
	$checkup = mysql_query($up_Leave)or die("myasql error ('$sql')");
	if ($checkup){
		echo "<script language='javascript'>alert('แก้ไขข้อมูลเรียบร้อยแล้ว')</script>";//Message box แจ้งเตือน
		echo "<meta http-equiv='refresh' content='0 ;url=emp_editleaveemp.php'>";
		$file = iconv("UTF-8", "TIS-620", $_FILES["Leave_doc"]["name"]);// แปลงค่าให้เป็นภาษาไทย ที่ โฟล์เดอร์ imagesที่เราสร้างขึ้นเพื่อเก็บไฟล์ภาพ 
	if(copy($_FILES["Leave_doc"]["tmp_name"],"file_quotas/".$file)){// images นี้คือโฟล์เดอร์ที่สร้าง
		$sql="update leave_leave set Leave_doc='".$_FILES["Leave_doc"]["name"]."' WHERE Leave_id='$Leave_id'";
			$query=mysql_query($sql) or die ("mysql erorr ('$sql')");
	}
	$sqlnum=mysql_query("select * from leave_leave where Leave_id='".$Leave_id."'");//เรียกค่าจำนวน ในฟิลล์ Leave_numberเพื่อนำค่ามาลบกะจำวันที่กำหนด Quota_id
while($resultnum=mysql_fetch_array($sqlnum)){
	$unit=$resultnum["Leave_number"];//ประกาศตัวแปรจำนวนวันที่ลาหยุด
	$Quota_id=$resultnum["Quota_id"];//ประกาศตัวแปรไอดี Quota_id เพื่อเข้าถึงข้อมูล จำนวนวันที่กำหนดวันลา
	$sql = mysql_query("update quotas set Quota_number=Quota_number-$unit where Quota_id='$Quota_id'");//โค้ดที่ใช้คำนวน
}	
	}else {
		echo "แก้ไขข้อมูลไม่สำเร็จ";
	}
?>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-04-08 18:00:36 By : narutokarp View : 891 Reply : 2
 

 

No. 1

Guest


ตอนที่เลือกวันลา ว่าลาวันที่เท่าไรบ้าง ก็ ให้ insert ลง db ทุกวันเลย ตั้ง status เป็น 1
แต่ถ้าต้องการยกเลิกวันลา ก็ให้ไปก็ยกเลิก รายการวันที่จะลา แล้วให้ status เป็น 0

วิธีเช็คว่าคนนั้น ลากี่วัน ก็เช็คเอาได้เลยว่า มีจำนวน count ของข้อมูลที่ status เป็น 1 กี่วัน ก็เอาไปลบ กับ 15 วัน ก็ได้จะจำนวนวันที่เหลือ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-09 11:18:21 By : Shadow Copy
 


 

No. 2



โพสกระทู้ ( 84 )
บทความ ( 0 )



สถานะออฟไลน์


พอจะเขียนโค้ดชี้แน่ะแนวทางหน่อยได้มั่ยครับ ผมพึ่งมือใหม่หัดเขีนรนีเลยครับ


ประวัติการแก้ไข
2016-04-09 13:41:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-09 13:30:09 By : narutokarp
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามหน่อยครับ ถ้าสมมุติมีสิทธิลาหยุดได้ 15 วัน ใช้ลาหยุดไปตั่งแต่วันที่ 2016-04-18 ถึง 2016-04-21 จะเท่ากับหยุด 4 วัน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่