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 > คือผมจะทำการ UPDATE Data ลง mssql 2012 ครับ ตอนนี้เงื่อนไขผมมี อยู่3 อันแต่ติดที่เงื่อนไขที่ 2 และ3 รบกวนช่วยดูให้ทีครับ



 

คือผมจะทำการ UPDATE Data ลง mssql 2012 ครับ ตอนนี้เงื่อนไขผมมี อยู่3 อันแต่ติดที่เงื่อนไขที่ 2 และ3 รบกวนช่วยดูให้ทีครับ

 



Topic : 126962



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



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




คือผมจะทำการ UPDATE Data ลง mssql 2012 ครับ ตอนนี้เงื่อนไขผมมี อยู่3 อันแต่ติดที่เงื่อนไขที่ 2 และ3 รบกวนช่วยดูให้ทีครับ

1.Serial From ERP คือโจทย์ผม คือ จะต้อง update ค่า serial ที่ได้รับ จากอีก page แต่ที่ติดคือ
ถ้าผมเคยจอง serial 1และ2 ไว้ ของ job 1 และจอง serial 3 ไว้ ของ job2 แต่ตอนที่ผมจะ update job 1ผมส่งค่า serial 3หรือ4 มาอย่างใดอย่างนึง
ฉะนั้นมันต้องไป update serial 1หรือ2 ออกไปแล้วถ้าเกิด serial ที่เลือกมาถูกจองไว้กับ job อื่นแล้ว job อื่นก้ต้องย้ายไปจอง serial อื่นแทนแต่ถ้า ผมเลือก serial 1 และ2 ที่เคยจองไว้ปกติ ก็ไปupdate ที่ serial เดิม
2.No Serial ถ้าผมกด save มาโดยที่ไม่ได้ทำการเลือก serial เลย ตัวจำนวนของ item ของ job 1 ก็ต้องถูกไป reserve ไว้ที่ qty_reserve
แต่ถ้าผมเลือกมา serial มา 1 ตัว อีก1 ตัวไม่ได้เลือกมามันก็ต้องไปลบออกค่า จาก qty_reserveแต่ถ้าผมเลือก job 2 มาตัว qty_reserve มันจะต้องไป + เพิ่ม จากของเดิมเพราะมันอยู่ใน po เดียวกันตอนนี้ที่ผมเขียนมันดันไปลบออก

ช่วยแนะนำวิธีเขียนที่ครับตอนนี้เขียนงงมาก
Code (PHP)
////////////////////////////////////////////////////////////////////////Serial From ERP
foreach($_REQUEST['st_id'] as $key=>$value){
	 $st_id=$_REQUEST['st_id'][$key];
	 $st_name=$_REQUEST['st_name'][$key];
	 $serial_gen=$_REQUEST['serial_gen'][$key];
	 $project_name=$_REQUEST['project_name'][$key];
	$model=$_REQUEST['model'][$key];
 
elseif($_REQUEST['input_q'][$key]!=''){



	 		$serialerp=$_REQUEST['input_q'][$key];		
			$sqlsrv="SELECT * FROM joborder_stock.dbo.st_sn where serial = '".$_REQUEST['input_q'][$key]."'";
			$params = array();
			$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
			$stmt = sqlsrv_query( $conn_stock, $sqlsrv , $params, $options );
			$row_count = sqlsrv_num_rows( $stmt );	
if($row_count=='0'){
	?>
       <script language="javascript"  charset="tis-620">
alert("Data Incorrect <?=$_REQUEST['input_q'][$key]?>");
    window.history.back();

</script> 
    <?
}////////////if incorret data
else{
	echo	 	$sqlnum="select top ".$row_count." id,* FROM joborder_stock.dbo.st_sn where project = '".$project_name."' and name =  '".$st_name."' and location = '$job_stock'  ";	
			$stmt = sqlsrv_query( $conn_stock, $sqlnum);				
            if($rowsrv = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
            $modelerp= $rowsrv['model'];
 			$macerp= $rowsrv['mac_address'];
	echo "<br>";
          echo $rowsrv[serial]."===".$_REQUEST['input_q'][$key]."<br>";	
			$qtyck="SELECT * FROM joborder_stock.dbo.st_erp where po_num = '".$rowsrv['po_num']."' and po_line ='".str_replace(' ','',$rowsrv['po_line'])."' ";
			$stqty = sqlsrv_query( $conn_stock, $qtyck );
            if($rowqty = sqlsrv_fetch_array( $stqty, SQLSRV_FETCH_ASSOC) ) {
            }
 $old=  $n+$ck[2];						
  $vterp= str_replace (' ','',$customer_name.$code."-".$st_name."-".$old);
  $n++;	
  $qtyup =$rowqty[qty_use]+$row_count;
  
// "st_nameerp $value  = ".$st_name."-".$modelerp."-".$serialerp."-".$macerp."-".$project_name."-"."<br>";	
//////SQL query same serial
if($rowsrv[serial] == $_REQUEST['input_q'][$key]){
	echo "same";
		echo "<br>";
	echo	$sn = "update  joborder_stock.dbo.st_sn set eqm_type='wait_install',last_update='$ms' where serial = '".$_REQUEST['input_q'][$key]."' and location ='$job_stock'";
		//	$result_sn =sqlsrv_query( $conn_stock, $sn);
}else{
	
			
//////SQL query another serial		
	echo "another";
		echo "<br>";
	echo  	$snx = "update  joborder_stock.dbo.st_sn set location ='Central Warehouse',used=0,eqm_type='stock',last_update='$ms' where serial = '".$rowsrv[serial]."'";
	echo "<br>";
	//		$result_snx =sqlsrv_query( $conn_stock, $snx);	
	echo	$sny = "update  joborder_stock.dbo.st_sn set location ='$job_stock',used=1,eqm_type='wait_install',last_update='$ms' where serial = '".$_REQUEST['input_q'][$key]."'";
	//		$result_sny =sqlsrv_query( $conn_stock, $sny);
				echo "<br>";

}
		
///////SQL query st erp
		$qty = "update  joborder_stock.dbo.st_erp set qty_use='$qtyup' where po_num = '".$rowsrv['po_num']."' and po_line='".$rowsrv['po_line']."' ";
		//	$result_qty =sqlsrv_query( $conn_stock, $qty);	
//////SQL query Eqm Tag					
		$sql_eqm = "INSERT INTO joborder_stock.dbo.eqm_tag (vt_tag, name, model, serial, type, order_no, install_date, exp_date, use_by) VALUES ('$vterp','$st_name','$modelerp','$serialerp','wait_install','$job_stock','$row[installation_date]','$row_wa[warranty_expire]','$user_id')";
		//	$result =sqlsrv_query( $conn_stock, $sql_eqm);
//////SQL query Eqm LOG
		$sql_log = "INSERT INTO joborder_stock.dbo.eqm_log (name, serial, type, date, user_name, status) VALUES ('$st_name','$serialerp','wait_install','$ms','$user_id','A')";
		//	$result_log =sqlsrv_query( $conn_stock, $sql_log);
//////MySQL query		
	}//while	
 	 	$sql1="insert into stock_history values(NULL,'$st_name','$modelerp','$serialerp','','$macerp','$location','$job_stock','$project_name','')";
			//$result1 = mysql_query($sql1);										
}//else correct data

}//elseif serial erp
////////////////////////////////////////////////////////////////////////No Serial
else{
  //echo "st_name   = ".$st_id."-".$st_name."-".$model."<br>";
 
 			//$patterns = array ('/"/','/ /','/”/','/%/','/-/','/@/');
			//echo $patterns[2];
			// $st_name=strtolower(preg_replace($patterns,"",$st_name));
			
 	 	 $sqlnum="select count(*) as item, po_num,po_line, location  FROM joborder_stock.dbo.st_sn where project = '".$project_name."' and name =  '".$st_name."' and location = '".$job_stock."' and used = 1 group by po_num,po_line,location";
//echo "<br>" ;
 			$params = array();
			$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
			$stmtnosn = sqlsrv_query( $conn_stock, $sqlnum , $params, $options );
			$row_countnosn = sqlsrv_num_rows( $stmtnosn );	
            while($rowsrv_nosn = sqlsrv_fetch_array( $stmtnosn, SQLSRV_FETCH_ASSOC) ) {
			//echo "$st_name   = ".$rowsrv_nosn[item]." ".$rowsrv_nosn[po_num]." ".$rowsrv_nosn[po_line]."<br>";
			 
			$qtyck="SELECT qty_use FROM joborder_stock.dbo.st_erp where po_num = '".$rowsrv_nosn['po_num']."' and po_line ='".str_replace(' ','',$rowsrv_nosn['po_line'])."' ";
		
			$stqty = sqlsrv_query( $conn_stock, $qtyck );
            if($rowqty = sqlsrv_fetch_array( $stqty, SQLSRV_FETCH_ASSOC) ) {
         if($job_stock==$rowsrv_nosn[location]){
			$num =	$rowsrv_nosn[item]-$rowqty[qty_use];
		 }else{
			$num =	$rowsrv_nosn[item]+$rowqty[qty_use];

		 }
			
//////SQL query st erp
		$qty = "update  joborder_stock.dbo.st_erp set qty_reserve=$num where po_num = '".$rowsrv_nosn['po_num']."' and po_line='".$rowsrv_nosn['po_line']."' and  project = '".$project_name."' and description =  '".$st_name."'";
	//	echo "<br>" ;
			$result_qty =sqlsrv_query( $conn_stock, $qty);				
		   }////////////if loop
            }////////////while count

//echo "No data";	*/
}////////////else no serial
	 

}////////////Close For loop




Tag : PHP, MySQL, Ms SQL Server 2012, JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-03-25 22:58:23 By : wahahaboy View : 578 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

เงื่อนไขเยอะขนาดนี่ไล่ยากนะครับ ลองใช้การ echo ดูค่าตัวแปรในแต่ล่ะ Statement ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-26 23:14:05 By : mr.win
 


 

No. 2



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



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


ขอบคุณครับเปลี่ยนวิธีคิดละ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-27 20:48:34 By : wahahaboy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : คือผมจะทำการ UPDATE Data ลง mssql 2012 ครับ ตอนนี้เงื่อนไขผมมี อยู่3 อันแต่ติดที่เงื่อนไขที่ 2 และ3 รบกวนช่วยดูให้ทีครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่