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 > สองถามเรื่องการเช็คค่าช่อง text ว่าช่องไหนมีการแก้ไข แล้วให้บันทึกเฉพาะช่องที่แก้ไข



 

สองถามเรื่องการเช็คค่าช่อง text ว่าช่องไหนมีการแก้ไข แล้วให้บันทึกเฉพาะช่องที่แก้ไข

 



Topic : 103039



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



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




สองถามเรื่องการเช็คค่าช่อง text ว่าช่องไหนมีการแก้ไข แล้วให้บันทึกเฉพาะช่องที่แก้ไข

สมมุติมี ช่อง 4 ช่องแต่ละช่องมีข้อมูลอยู่แล้ว ถ้า user แก้ไข ช่อง 1 และ 2 ให้ทำการเก็บค่าที่แก้ไข ช่อง 1 และ 2 ไม่ทราบ เขียน code ยังไงหรอครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-11-25 14:40:04 By : beer656 View : 815 Reply : 11
 

 

No. 1



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



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


โดยปกติแล้วการ UPDATE SQL ใน 1 เรคคอร์ด เราจะไม่สนใจว่าช่องไหนแก้ไม่แก้ แต่เราจะสั่ง UPDATE มันทั้งหมดทุกฟิลล์(ที่เราเปิดใหก้ user แก้ใข)
- จะเหมือนเดิมทุกช่องหรือแ้ก้ใขทุกช่องก็ชางหัวมัน UPDATE ไปให้หมดทุกฟิลล์(ที่เราเปิดใหก้ user แก้ใข)เลยครับ ....
- เราจะเช็คแค่ว่า ค่าว่างไหม รูปแบบอักขระผิดไหม เท่านั้นพอ . . . . .






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 14:46:43 By : meannerss
 


 

No. 2



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



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


สมมุติฐานข้อมุลมีฟิล xx1 - xx10 แต่เราเปิดกล่องให้ user แก้ใขแค่ xx1 xx5 xx7

IF (เช็ครูปแบบอักขระผ่าน) {
$sql = "UPDATE  XXXX  SET xx1='$xx1',xx5='$xx5',xx7='$xx7'  WHERE xx_id='1' ";
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 14:51:48 By : meannerss
 

 

No. 3



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



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


ผมพอทราบครับเกี่ยวการอัพเดต แต่ผมต้องการทำการเก็บ LOG Data หากข้อมูลมีการแก้ไขที่ช่องไหน ก็ให้ทำการเก็บ log ช่องนั้น ว่ามีการแก้ไขอะไรไป จากข้อมูลเก่า แก้เป็นข้อมูลใหม่อะไร

พอทราบไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 14:52:38 By : beer656
 


 

No. 4



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : beer656 เมื่อวันที่ 2013-11-25 14:52:38
รายละเอียดของการตอบ ::
เอาอย่างนั้นเลยเหรอครับ ปกติแล้วผมเก็บแค่ log ธรรมดา ผู้ใช้เข้าใช้งานหน้าไหนบ้าง ถ้าแก้ไขก็แก้ไขโดยใคร ไม่เก็บข้อมูลก่อน-หลังการแก้ไข
หากระบบสำเร็จ ก็เอามาแชร์กันบ้างนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 15:02:49 By : arm8957
 


 

No. 5



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



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


อ่อแบบนี้นี่เอง . . . งั้นก็เอาไปเปรียบเทียบก่อน UPDATE แล้วเก็ลลง LOG สิครับ

เรคคอร์ด A เดิม = 1,5,7,8

เรคคอร์ด A ใหม่ = 2,3,7,8

เอาตัวแปรที่ได้ไปตรวจกับ DB ครับถ้าไม่เหมือนกันก็ไป insert into ตารางเก็บ Log . . . ว่าใคร ที่ไหน เวลาเท่าไร ทำนี่เสร็จค่อยไปสั่ง UPDATE จริง


ดังนั้นในตาราง LOG เราต้องเห็นประมาณนี้ไช่ไมหครับ

เรคคอร์ดIDนี้นะ ฟิลที่1 จากเดิม1 เป็น 2 เวลา xx:xx วันที่ xxxx-xx-xx โดย พนักงาน1565
เรคคอร์ดIDนี้นะ ฟิลที่2 จากเดิม5 เป็น 3 เวลา xx:xx วันที่ xxxx-xx-xx โดย พนักงาน1565


ประวัติการแก้ไข
2013-11-25 15:18:09
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 15:16:05 By : meannerss
 


 

No. 6



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : meannerss เมื่อวันที่ 2013-11-25 15:16:05
รายละเอียดของการตอบ ::
ผมรอดูแนวคิดการเก็บ Log อ่ะครับ อยากรู้ว่าเค้าเก็บ log ยังไง ลงฐานข้อมูลเลย หรือเก็บลงไฟล์(ส่วนตัวถ้าระบบเก็บ log ขนาดนี้ ต้องเก็บในไฟล์อย่างเดียว) รอติดตามครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 15:19:44 By : arm8957
 


 

No. 7



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



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


ไล่นอมอลไลออกมาตาราง LOG น่าจะมีโครงสร้างประมาณรี้

ID_log(PK,auto_increment) | id_ref(FK ref.มาจากตารางข้อมูล) | ชื่อฟิลล์ที่ปรับปรุง | ข้อมูลเดิม | ข้อมูลใหม่ | เวลาวันที่ | ผู้ทำรายการ


***อืมดังเช่นคุณอิกคิวพูดก็ถูกนะ ต้องเก็บลงไฟล์ไว้่ป้องกันปัญหาข้อมูลมหาศาลด้วยสินะครับ


ประวัติการแก้ไข
2013-11-25 15:22:32
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 15:21:12 By : meannerss
 


 

No. 8



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

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

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


เอาเป็นว่าให้ความมั่นใจเพิ่ม ทำได้ไหมไม่มีอะไรที่ทำไม่ได้ แต่จะทำยากทำง่ายดีกว่าครับ....
สิ่งที่บอกมาเหมือนสร้างพีระมิดครับ สร้างได้ทำได้ แต่ก็ไม่รู้ทำไง ทำนาน ใช้เวลานานแค่ไหน...

สรุป แนวคิดนี้ ไม่ผ่านครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 15:21:18 By : apisitp
 


 

No. 9



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



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

ที่หน้าเก็บข้อมูล

  • SELECT ข้อมูลเก่าออกมาทั้งหมดที่เอาไปให้แก้ก่อนหน้า

  • loop เช็คทีละ element

  • อันไหนแก้(ค่าไม่ตรงกับของเดิม) ก็เอาตัวใหม่ไป concat กับ UPDATE SQL string + log การแก้ไข

  • เช็คว่ามีการแก้ไขหรือไม่ ถ้ามีก็ UPDATE ถ้าไม่มีก็ไม่ต้องอัพ

  • บันทึก log


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 16:12:10 By : itpcc
 


 

No. 10



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

ใช้ SESSION ช่วยครับ (ช่วงนี้มีแค่โค๊ดเปลืองแรมแฮะ :p)

ข้อมูล ตอนดึงมาใส่แบบฟอร์ม ให้เก็บไว้เซสชั่นด้วย
Code (PHP)
$_SESSION['frm_customer']['fullname'] = 'xxx';
$_SESSION['frm_customer']['address'] = 'yyy';


เมื่อส่งข้อมูลไป ค่าจะส่งแบบ $_POST

ก็วนลูปเช็กกับเซสชั่น

Code (PHP)
foreach($_SESSION['frm_customer'] as $fieldname=>$oldvalue){
     if($oldvalue != $_POST[$fieldname]){
         //ไม่เท่ากับค่าเดิมแสดงว่า แก้ไข เก็บค่าไปบันทึก
     }
}




ที่เหลือต่อเองนะครับ ไม่ไหวละวันนี้เจองานตั้งค่าเซิร์ฟเวอร์เข้าไปแล้วไปไม่เป็น
หัวสมองมึนตึ๊บ ขอตัวไปเล่นฟุตบอลก่อน ^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-25 17:03:06 By : {Cyberman}
 


 

No. 11



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

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

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


อันนี้เป็นแนวคิดของผมครับ และตอนนี้ก็ลองใช้อยู่กับบาง table ที่ต้องการเก็บ log แก้ไขข้อมูล

ออกตัวก่อนครับว่า ไม่ได้เรียนมาทาง programmer การทำเช่นนี้ก็ไม่รู้ว่าอนาคตจะมีผลอะไรกับ database หรือไม่

โครงสร้างตารางที่ผมต้องการจะเก็บ log ผมจะออกแบบดังนี้

ID, fieldA, fieldB, fieldC, fieldD, createdDate, createdUserId, unUsed (true/false) ค่า default เป็น false

เวลา แสดงผลข้อมูล ผมให้เรียกจาก View ใช้คำสั่ง SQL เช่น Select * from ViewA where unUsed='false'
เพื่อให้แสดงเฉพาะ record ที่มีการใช้งาน

เมื่อ user กดปุ่ม save หาก form นั้นๆ มีการแก้ไขข้อมูล
ผมจะสั่งให้ ไป update record เก่าตรง field unUsed ให้เป็น true

แล้วทำการ insert record ใหม่เข้าไป

รบกวนช่วยวิจารณ์ด้วยครับว่า แนวคิดที่บอกมานี้ มันใช้ได้หรือไม่ครับ

กำลังลังเลอยู่เหมือนกันว่ามันจะเปลืองเนื้อที่ หรือไม่ database จะโตเกินหรือไม่

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-10 08:34:40 By : Aod47
 

   

ค้นหาข้อมูล


   
 

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