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,027

HOME > PHP > PHP Forum > สอบถามหน่อยครับถ้า จะเชกเงื่อนไขยังไง ว่า เมื่อ ฟิลล์ Quota_number มีค่ากับ 0 ให้ alert แจ้งเตือนว่า มีค่าเท่ากับ 0



 

สอบถามหน่อยครับถ้า จะเชกเงื่อนไขยังไง ว่า เมื่อ ฟิลล์ Quota_number มีค่ากับ 0 ให้ alert แจ้งเตือนว่า มีค่าเท่ากับ 0

 



Topic : 122305



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



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




สอบถามหน่อยครับถ้า จะเชกเงื่อนไขยังไง ว่า เมื่อ ฟิลล์ Quota_number มีค่ากับ 0 ให้ alert แจ้งเตือนว่า มีค่าเท่ากับ 0 และจะไม่สามารถบันทึกลงตาราง leave_leave ได้ในฟิลล์ Leave_number ที่จะเอาค่าจากการป้อนข้อมูลมาเปรียบเทียบ

ภาพในฐานข้อมูล

ภาพทีบันทึกลงตารางนี้

Code (PHP)
<?
if ($_POST["button"]=="บันทึก"){
	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++;
				echo "$strStartDate = <font color=red>วันหยุด ส อ</font><br>"; // โชว์ค่าให้เห็นสำหรับวันหยุด ส อ
			}
			elseif(CheckPublicHoliday($strStartDate)){
				$intPublicHoliday++;
				echo "$strStartDate = <font color=#fff>วันหยุดราชการ</font><br>"; // โชว์ค่าให้เห็นสำหรับวันหยุด ราชการ
			}
			else{
				$intWorkDay++;
				echo "$strStartDate = <b>วันที่ลา</b><br>"; // โชว์ค่าวันที่ลา
			}
			$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']); // จำนวนวันที่ลาที่ไม่รวม ส อ และวันหยุดราชการ
	//============  บันทึกข้อมูลการลา
	$new_id = mysql_result(mysql_query("Select Max(Leave_id)+1 as MaxID from  leave_leave"),0,"MaxID");// การรันรหัส อัติโนมัติ เลือกเอาค่า id ที่มากที่สุดในฐานข้อมูลและบวก 1 เข้าไปด้วยเลย
	if($new_id==''){ // ถ้าได้เป็นค่าว่าง หรือ null ก็แสดงว่ายังไม่มีข้อมูลในฐานข้อมูล
		$Leave_id="00001";
	}else{
		$Leave_id=sprintf("%05d",$new_id);//ถ้าไม่ใช่ค่าว่าง
	}
	$sql="insert into leave_leave 
(Leave_id,Quota_id,Leave_date,Leave_date1,Leave_number,Leave_reason,Leave_doc,Leave_tell,S_leader,S_manager,Leave_note,Emp_id,Leader_id,Manager_id,Status_id)
	values('".$Leave_id."',
'$Quota_id','$Leave_date','$Leave_date1','".$Leave_number."','$Leave_reason','$Leave_doc','$Leave_tell','$S_leader','$S_manager','$Leave_note','$Emp_id','$Leader_id',	'$Manager_id','$Status_id')";
	$query = mysql_query($sql)or die("myasql error ('$sql')");
	if ($query){
		echo "<script language='javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";//Message box แจ้งเตือน
		 echo "<meta http-equiv='refresh' content='0 ;url=emp_editleaveemp.php'>";//หน่วงเวลาเพื่อ refresh หน้าไปยังหน้าของ emp_editleaveemp
		$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









ประวัติการแก้ไข
2016-04-05 00:09:00
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-04-05 00:06:07 By : narutokarp View : 2525 Reply : 4
 

 

No. 1



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


1.ทำการ select ข้อมูลตาราง quotas ออกมา ทำไงก็คงประมาณ select * from quotas where ฟิลด์='ตัวแปร'

2. while ค่าเพื่อทำมาเช็คว่ามีเรดคอร์ดไหนเป็น 0 ประมาณ

    while($rs=.......){
     
     if($rs['Quota_number '] == 0{
         echo "เฮ้ยๆวันละหมด ลาไม่ได้แล้วนะ"; //ตรงนี้จะเด้งฟ้องด้วย js ก็คงต้อง alert 
      }else{
         echo "เฮ้ยๆ วันลายังเหลือ บันทึกเลย";
        //ใส่ Code บันทึกตามที่ต้องการ
      }
    }


ปล.แต่จริงๆแล้ว ถ้า where แบบเฉพาะ เจาะจงบุคคล ชื่อ id มาแล้วก็ไม่ต้อง while ก็ได้ ก็เอาค่ามาเทียบเลย พื้นฐาน select ธรรมดาครับ

ก็คงประมาณนี้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-05 08:21:08 By : apisitp
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : apisitp เมื่อวันที่ 2016-04-05 08:21:08
รายละเอียดของการตอบ ::
พี่ครับ แจ้งเตือนแล้วครับ แต่ทำไม พอเลือก ประเภทการลา อันอื่น ที่มีค่ามากกว่า 0 ก็ยังแจ้งเตือนไม่ยอมให้บันทึก หรือผมทำเงื่อนไขผิดตรงไหนหรือป่าวครับ ช่วยแนะนำหน่อยครับ ของคุณครับ


Code (PHP)
$Leave_number =  holiday($_POST['Leave_date'],$_POST['Leave_date1']); // จำนวนวันที่ลาที่ไม่รวม ส อ และวันหยุดราชการ
	//============  บันทึกข้อมูลการลา
$strSQL = "SELECT * FROM quotas WHERE Quota_id = '".$_POST["Quota_id"]."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
	$num=$objResult['Quota_number']==0;// ตัวแปล $num เรียกข้อมูลมาจากฟิลล์ Quota_number
	$num<$Leave_number;// ตัวแปลนี้ จะได้มาจากการเปรียบเทียบวันหยุดว่าหยุดกี่วัน $Leave_number
	echo "<script>alert('คุณได้ใช้สิทธิการลารายการนี้หมดแล้ว กรุณาเลือกใช้สิทธิการลาประเภทอื่น ค่ะ');history.back();</script>";	
}else{
	$new_id = mysql_result(mysql_query("Select Max(Leave_id)+1 as MaxID from  leave_leave"),0,"MaxID");// การรันรหัส อัติโนมัติ เลือกเอาค่า id ที่มากที่สุดในฐานข้อมูลและบวก 1 เข้าไปด้วยเลย
	if($new_id==''){ // ถ้าได้เป็นค่าว่าง หรือ null ก็แสดงว่ายังไม่มีข้อมูลในฐานข้อมูล
		$Leave_id="00001";
	}else{
		$Leave_id=sprintf("%05d",$new_id);//ถ้าไม่ใช่ค่าว่าง
	}
	$sql="insert into leave_leave 
(Leave_id,Quota_id,Leave_date,Leave_date1,Leave_number,Leave_reason,Leave_doc,Leave_tell,S_leader,S_manager,Leave_note,Emp_id,Leader_id,Manager_id,Status_id)
	values('".$Leave_id."',
'$Quota_id','$Leave_date','$Leave_date1','".$Leave_number."','$Leave_reason','$Leave_doc','$Leave_tell','$S_leader','$S_manager','$Leave_note','$Emp_id','$Leader_id',	'$Manager_id','$Status_id')";
	$query = mysql_query($sql)or die("myasql error ('$sql')");
	if ($query){
		echo "<script language='javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>";//Message box แจ้งเตือน


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-05 12:46:54 By : narutokarp
 

 

No. 3



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


อ่าน code แล้วตาลายครับ รบกวนเอาใส่ tag php code หน่อย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-05 14:18:49 By : apisitp
 


 

No. 4



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


ไม่เคยเห็นการอ้างอิงแบบนี้ครับ
$num=$objResult['Quota_number']==0;

อันนี้ก็ไม่เคย
$num<$Leave_number;

if else อันอื่นก็เขียนได้นิ่ มันคืออะไร

มันเปรียบเทียบแค่นั้นได้จริงหรือเปล่า ลองหาคำตอบเองครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-05 14:21:32 By : apisitp
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามหน่อยครับถ้า จะเชกเงื่อนไขยังไง ว่า เมื่อ ฟิลล์ Quota_number มีค่ากับ 0 ให้ alert แจ้งเตือนว่า มีค่าเท่ากับ 0
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่