ขอสอบถามการ update ซึ่งเอาแต่ข้อมูล row สุดท้ายมา update ค่ะ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ขอสอบถามการ update ซึ่งเอาแต่ข้อมูล row สุดท้ายมา update ค่ะ
ขอสอบถามการ update ซึ่งเอาแต่ข้อมูล row สุดท้ายมา update ค่ะ
1 2 3 4 | <span style= "font-size:14px;" >ขอสอบถามการ Update Status ค่ะ ต้องการ Update ของแต่ละRow ค่ะ โดยที่จะเลือก dropdownlist Status จากหน้ารายการแล้วให้กด Save ขวามือ ดังรูป <span style= "color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif;" >ซึ่งตอนนี้สามารถบันทึกได้แค่ row สุดท้าย ไม่ว่าจะกด Save บรรทัดไหนก็เอา row สุดท้ายมาUpdate รบกวนดูหน่อยค่ะว่าต้องแก้ code อย่างไร ขอบคุณค่ะ </span></span> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <?php include 'Connection.php' ; ?> <html> <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <?php //*** Update Condition ***// if ( $_POST [ "hdnCmd" ] == "Save" ){ $strSQL = "UPDATE PRICING_HD SET StatusQuotation = '" . $_POST [ "status" ]. "' WHERE PricingHDID = '" . $_POST [ "pricing_id" ]. "' AND PricingHDRevision = '" . $_POST [ "pricing_revision" ]. "' " ; $objQuery = sqlsrv_query( $Conn , $strSQL ) or die ( "Error Update [" . $strSQL . "]" ); } ?> </head> <body> <form name= "datalist" id= "datalist" method= "post" action= "<?php echo $_SERVER[" PHP_SELF "];?>" > <input type= "hidden" name= "hdnCmd" value= "" > <table class = "display" id= "datatable" > <thead> <tr> <th style= "font-size: 14px; " >No.</th> <th style= "font-size: 14px; " >ID</th> <th style= "font-size: 14px; " >Status</th> <th style= "font-size: 14px; " >Save</th> </tr> </thead> <tbody> <?php $sql = "SELECT * FROM PRICING_HD " ; $query = sqlsrv_query( $Conn , $sql ) or die ( "error" ); $i = 1; while ( $row = sqlsrv_fetch_array( $query )){ ?> <tr class = "odd" > <td align= "center" width= "30" ><font size= "2" ><?php echo $i ; ?></font></td> <td align= "center" width= "80" ><font size= "2" ><?php echo $row [ "PricingHDID" ];?></font> <input type= "hidden" name= "pricing_id" id= "pricing_id" value= "<?php echo $row[" PricingHDID "];?>" > <input type= "hidden" name= "pricing_revision" id= "pricing_revision" value= "<?php echo $row[" PricingHDRevision "];?>" > </td> <td align= "center" width= "80" > <select name= "status" id= "status" style= "width:130px;height:25px;float:left;padding:0px 0px 0 0px; background-color:#F4F6F7; border:1px #90A9B7 solid; color:#000;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;" > <option value= "Draft" <?PHP if ( $row [ 'StatusQuotation' ] == "Draft" ) { echo "selected='selected'" ; } ?>>Draft</option> <option value= "Approve" <?PHP if ( $row [ 'StatusQuotation' ] == "Approve" ) { echo "selected='selected'" ; } ?>>Approve</option> <option value= "Submit to Customer" <?PHP if ( $row [ 'StatusQuotation' ] == "Submit to Customer" ) { echo "selected='selected'" ; } ?>>Submit to Customer</option> <option value= "Final Version" <?PHP if ( $row [ 'StatusQuotation' ] == "Final Version" ) { echo "selected='selected'" ; } ?>>Final Version</option> </select> </td> <td align= "center" ><input type= "image" name= "submitStatus" src= "images/save.png" alt= "" title= "Save Status" border= "0" width= "20" OnClick= "datalist.hdnCmd.value='Save';datalist.submit();" /></button></td> </tr> <?php $i = $i +1; } ?> </tbody> </table> </form> </body> </html> |

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
ใช้ ajax ในการส่งค่าแทนได้ ลองดูเนื้อหานี้เป็นแนวทาง
จะใช้ชื่อสุดท้าย หรือตัวสุดทัายในการส่งข้อมูล เพราะชื่่อ element จะซ้ำกันไม่ได้ ถ้าอยู่ในฟอร์มเดียวกัน
โค้ดปุ่มก็ผิดเพื้ยน เปิดเป็น input type แต่ปิด button ซึ่งผิดให้ใช้เป็น <input ..... />
ลองเปลี่ยน element ในลูป while() เป็น array ให้หมดทุกตัวตามนี้
แนวทางประเมาณนี้
ทบทวนพื้นฐาน ajax ใน jquery การส่งค่าและแสดงข้อมูลเบื้องต้น
แต่ถ้าจะใช้ฟอร์มเดียวคลุมทั้งหมด ให้กำหนดชื่อ element เป็น array เพราะว่าในลูป ของ element ที่วนซ้ำจะใช้ชื่อสุดท้าย หรือตัวสุดทัายในการส่งข้อมูล เพราะชื่่อ element จะซ้ำกันไม่ได้ ถ้าอยู่ในฟอร์มเดียวกัน
โค้ดปุ่มก็ผิดเพื้ยน เปิดเป็น input type แต่ปิด button ซึ่งผิดให้ใช้เป็น <input ..... />
ลองเปลี่ยน element ในลูป while() เป็น array ให้หมดทุกตัวตามนี้
1 | <input type= "hidden" name= "pricing_id[<?php echo $row[" PricingHDID "];?>]" id= "pricing_id" value= "<?php echo $row[" PricingHDID "];?>" > |
แนวทางประเมาณนี้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | <?php include 'Connection.php' ; ?> <html> <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <?php //*** Update Condition ***// if ( $_POST [ "hdnCmd" ] == "Save" ){ $priceID = $_POST [ "h_pricing_id" ]; $strSQL = " UPDATE PRICING_HD SET StatusQuotation = '".$_POST["status"][$priceID]."' WHERE PricingHDID = '".$priceID."' AND PricingHDRevision = '".$_POST["pricing_revision"][$priceID]."' "; $objQuery = sqlsrv_query( $Conn , $strSQL ) or die ( "Error Update [" . $strSQL . "]" ); } ?> </head> <body> <form name= "datalist" id= "datalist" method= "post" action= "<?php echo $_SERVER[" PHP_SELF "];?>" > <input type= "hidden" name= "hdnCmd" value= "" > <input type= "hidden" name= "h_pricing_id" value= "" > <table class = "display" id= "datatable" > <thead> <tr> <th style= "font-size: 14px; " >No.</th> <th style= "font-size: 14px; " >ID</th> <th style= "font-size: 14px; " >Status</th> <th style= "font-size: 14px; " >Save</th> </tr> </thead> <tbody> <?php $sql = "SELECT * FROM PRICING_HD " ; $query = sqlsrv_query( $Conn , $sql ) or die ( "error" ); $i = 1; while ( $row = sqlsrv_fetch_array( $query )){ ?> <tr class = "odd" > <td align= "center" width= "30" ><font size= "2" ><?php echo $i ; ?></font></td> <td align= "center" width= "80" ><font size= "2" ><?php echo $row [ "PricingHDID" ];?></font> <input type= "hidden" name= "pricing_id[<?php echo $row[" PricingHDID "];?>]" id= "pricing_id" value= "<?php echo $row[" PricingHDID "];?>" > <input type= "hidden" name= "pricing_revision[<?php echo $row[" PricingHDID "];?>]" id= "pricing_revision" value= "<?php echo $row[" PricingHDRevision "];?>" ></td> <td align= "center" width= "80" > <select name= "status[<?php echo $row[" PricingHDID "];?>]" id= "status" style= "width:130px;height:25px;float:left;padding:0px 0px 0 0px; background-color:#F4F6F7; border:1px #90A9B7 solid; color:#000;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;" > <option value= "Draft" <?PHP if ( $row [ 'StatusQuotation' ] == "Draft" ) { echo "selected='selected'" ; } ?>>Draft</option> <option value= "Approve" <?PHP if ( $row [ 'StatusQuotation' ] == "Approve" ) { echo "selected='selected'" ; } ?>>Approve</option> <option value= "Submit to Customer" <?PHP if ( $row [ 'StatusQuotation' ] == "Submit to Customer" ) { echo "selected='selected'" ; } ?>>Submit to Customer</option> <option value= "Final Version" <?PHP if ( $row [ 'StatusQuotation' ] == "Final Version" ) { echo "selected='selected'" ; } ?>>Final Version</option> </select></td> <td align= "center" > <input type= "image" name= "submitStatus[<?php echo $row[" PricingHDID "];?>]" src= "images/save.png" alt= "" title= "Save Status" border= "0" width= "20" OnClick= "datalist.hdnCmd.value='Save';datalist.h_pricing_id.value='<?php echo $row[" PricingHDID "];?>';datalist.submit();" /> </td> </tr> <?php $i = $i +1; } ?> </tbody> </table> </form> </body> </html> |

ความคิดเห็นที่
2
ทำได้แล้วค่ะ ขอบคุณค่ะ


ขอบคุณทุกการสนับสนุน
![]()