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 > กลัวครับ ผมเป็นคนคิดมาก ไม่ทราบว่าพี่ๆเคยเจอปัญหาแบบนี้ไหม ขอความคิดเห็นหน่อยครับ



 

กลัวครับ ผมเป็นคนคิดมาก ไม่ทราบว่าพี่ๆเคยเจอปัญหาแบบนี้ไหม ขอความคิดเห็นหน่อยครับ

 



Topic : 112779



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



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




สมมุติผมทำเว็บไซต์ประกาศ มีคนเข้าเยอะมากๆๆๆๆๆๆ

เวลาบันทึกลงฐานข้อมูล ก็จะไปดูที่ตารางประกาศว่าอยู่ที่ id อะไรแล้วก็ทำการ +1 เข้าไป

แต่ที่ผมกลัวคือ สมมุติผู้ใช้ทะลึ่งลงประกาศโดยการกดพร้อมกัน 10 คน เวลาบันทึกลงฐานก็ต้องทำแบบเดิมไปเช็คว่า id ไรแล้ว +1

ถ้ากรณีแบบนี้จะทำให้เกิด error หรึป่าวครับพี่ๆ ขอความคิดเห็นหน่อยครับ ขอบคุณครับ



Tag : PHP, MySQL, HTML/CSS, JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-23 21:16:44 By : copyringht View : 882 Reply : 16
 

 

No. 1



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

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

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

ทำแบบนั้นโอกาสซ้ำซ้อนของข้อมูลก็มีนะครับ แต่หากทำเป็น Auto ID หรือ LAST_INSERT_ID() ไม่มีแน่นอน

last-insert-id-mysql






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 21:31:24 By : Manussawin
 


 

No. 2



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



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


ตอนนี้ผมใช้ CODE ในการ auto id แบบนี้ จะได้เป็น

2014A000000001
2014A000000002
2014A000000003
2014A000000004

ถ้าแบบนี้มีโอกาศ error ไหมครับพี่ สมมุติคนกดประกาศพร้อมกัน 10 คน ถ้า error ผมจะได้ไปใช้ LAST_INSERT_ID() MySQL แบบที่พี่แนะนำขอบคุณครับ มือใหม่ อยากมีเว็บไซต์เป็นของตัวเองครับ

Code (PHP)
$id = mysql_result(mysql_query("Select Max(substr(id,-9))+1 as MaxID from table"),0,"MaxID");
			$date_id = date("Y"); 
            if(id == ''){
                id = "$date_id"."A000000001";
            }else{
                id = "$date_id"."V".sprintf("%09d",$ifv_id);
            }



ประวัติการแก้ไข
2014-11-23 22:10:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 22:09:14 By : copyringht
 

 

No. 3

Guest


No2 บอกแล้วไงว่ามีโอกาสซ้ำ ทำไมโง่จังวะไอ้เหี้ย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 22:18:03 By : หน้าฮี
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : หน้าฮี เมื่อวันที่ 2014-11-23 22:18:03
รายละเอียดของการตอบ ::
ผมไม่เคยรู้มาก่อนว่ามีคนนิสัยแบบนี้อยู่ใน thaicreate ด้วย

ผมมือใหม่ แค่สงสัย อยากจะรู้ ว่ามีกรณีไหนบ้างที่ทำให้ error รบกวนพี่วินช่วยตรวจสอบ ip ให้หน่อยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 22:23:17 By : copyringht
 


 

No. 5



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

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

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

ใจเย็นๆครับผม ค่อยๆคุยกัน ลองดูนะครับ เราแก้ไขได้โดยเรียกใช้ Query เอา AUTO_INCREMENT มาใช้ ทีนี้เราปรับแก้นิดเดียว ไปตั้ง ฟิลด์ เพื่อใช้รัน ID แบบ Auto INC ครับ

Code (SQL)
SELECT AUTO_INCREMENT FROM information_schema.TABLES
    WHERE TABLE_SCHEMA = 'my_database' 
    AND TABLE_NAME = 'my_table_name';



หรือจะทำแบบนี้ครับ ปรับแก้จาก mysqli เป็น mysql

http://www.w3schools.com/php/func_mysqli_insert_id.asp
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 22:57:06 By : Manussawin
 


 

No. 6



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



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


ครับพี่ ผมก็ไม่สามารถตั้งชื่อ id ผสมกับตัวอักษรได้อะสิ

2014A000000001
2014A000000002
2014A000000003
2014A000000004


ขอบคุณครับพี่ที่ให้คำแนะนำ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 23:07:04 By : copyringht
 


 

No. 7



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

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

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

ไม่ครับไม่ได้ให้แก้อันเดิม ให้เพิ่มใหม่ครับ เป็น PK และ เป็น Auto INC
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 23:09:56 By : Manussawin
 


 

No. 8



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



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


อ่อแบบนี้ป่าวครับพี่

ตารางบันทึกเดิมเป็นแบบนี้

id vachar 10 pk
item1 vachar 10
item2 vachar 10
item3 vachar 10
item4 vachar 10
item5 vachar 10

เพิ่ม pk ไปอีกตัวจะเป็นตารางแบบนี้

id_new int 10 pk Auto INC
id vachar 10 pk
item1 vachar 10
item2 vachar 10
item3 vachar 10
item4 vachar 10
item5 vachar 10

เวลาจะบันทึกลงเบสก็ให้เช็คตัวล่าสุดด้วยฟังชั่นที่พี่บอก id_new ส่วน id ก็ปกติ 2014A0000001 ใช่ไหมครับพี่


ประวัติการแก้ไข
2014-11-23 23:22:33
2014-11-23 23:23:31
2014-11-23 23:25:23
2014-11-23 23:26:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 23:21:15 By : copyringht
 


 

No. 9



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

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

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

ครับผม ใช่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 23:25:32 By : Manussawin
 


 

No. 10



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



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


ขอบพระคุณมากๆเลยครับพี่

คือผมต้องการทำเว็บไซต์ประกาศสักอย่างหนึ่ง แล้วคนเข้าเยอะมาก แล้วก็กลัวว่าถ้าผู้ใช้งานทะลึ่งกดประกาศพร้อมกัน กลัวจะเกิดปัญหาตอนบันทึกลงเบส

ขอบคุณอีกครั้งครับสำหรับวิธีและคำแนะนำครับพี่

โดยการเพิ่ม pk ขึ้นมาอีกหนึ่งตัว แล้วก็ใช้ฟังชั่น last-insert-id-mysql ส่วน pk เดิมก็เช็ค+1 ไปปกติ แค่เอาตัว pk ที่สร้างมาใหม่เป็นตัวเช็คลำดับผู้ใช้งานที่ทะลึ่งกดลงประกาศพร้อมกัน

ผมกดให้คะแนนแล้วนะครับพี่


ประวัติการแก้ไข
2014-11-23 23:32:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 23:31:13 By : copyringht
 


 

No. 11



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



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


พี่ครับขอนิดเดียวครับ code ที่พี่ให้มา ผม งง อะครับ ให้ผมดึงข้อมูลอะไรหรอครับ


SELECT AUTO_INCREMENT FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'my_database'
AND TABLE_NAME = 'my_table_name';
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-23 23:39:05 By : copyringht
 


 

No. 12



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



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


https://www.thaicreate.com/community/sql-knowledge-base.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-24 07:32:29 By : Chaidhanan
 


 

No. 13



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



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


อีกวิธีหนึ่ง สร้างไฟล์ควบคุมเอกสาร (Document Control) เช่น

Table DocumentCtrl มีโครงสร้างตาราง/ข้อมูลตัวอย่างดังนี้

System Year Prefix NextCode เป็นต้น
PO 2014 PO 000001
SO 2014 SO 009910
JV 2014 JV ...
...

Code
ผมไม่เคยรู้มาก่อนว่ามีคนนิสัยแบบนี้อยู่ใน thaicreate ด้วย


จริงฯแล้วมันมีอยู่ทุกหนแห่งบนโลกใบนี้


ปล. เล่าเรื่องจริงให้ฟังเมื่อวานนี้ (2014-11-24) มีเด็กคนหนึ่งที่ผมรู้จักมาเยี่ยมเจ้านายเก่า (พนักงานร้านเสริมสวย)
ตอนนี้เด็กคนนั้นเปลี่ยนอาชีพไปขายข้าวแกง+อื่นฯ อยู่ที่จังหวัดชลบุรี (เท่าฯที่ฟังดูรายได้ดีพอสมควร)

ผมก็ถามไปว่า : "หนูมีลูกกี่คนแล้ว"
สมมุติว่าชื่อฟ้า : ลูกกับผัวคนไหนล่ะ (ผมชักงงงง)
ผมก็ถามไปว่า : "แล้วหนูมีผัวกี่คนล่ะ"
น้อฟ้าตอบว่า : นับไม่ถ้วน

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

ผมและเจ้หวีห่าง หัวเราะกันท้องแข็ง (เด็กมันพูดความจริงเว่ยเห้ย)
(ผมและเจ้หวีมองเด็กคนนี้โดยรวมแล้วเป็นคนดีคนหนึ่งเลยทีเดียว ถึงแม้ว่าจะนับผัวจริงด้วยคำว่านับไม่ถ้วนก็ตาม)


ประวัติการแก้ไข
2014-11-24 08:20:47
2014-11-24 08:22:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-24 08:17:43 By : หน้าฮี
 


 

No. 14



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



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


ขอบคุณครับพี่ๆทุกคำตอบ

เมื่อผมได้รับโอกาศ ผมก็จะให้โอกาศคนต่อ ครับ


ประวัติการแก้ไข
2014-11-24 20:30:23
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-24 20:29:57 By : copyringht
 


 

No. 15



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



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


จาก #NO 13 ถ้าคุณเป็นคนที่คิดมากดังที่คุณกล่าวอ้างจริง มันก็เป็นสิ่งที่ดี
ผมเพิ่มเติมให้อีกนิดหนึ่งคือ "ความละเอียดรอบคอบ ก็ควรจะทำให้เป็นนิสัย" ครับแต่ไม่ใช่คับ (คำนี้หมายถึงว่าคับแคบ)
--- ในบางกรณีอาจจำเป็นต้องล๊อคระเบียน (Rows Lock) ?
--- ในบางกรณีอาจจำเป็นต้องล๊อคไฟล์ (File Lock) ?
--- จำเป็นต้องมี PK (Primary key) หรือไม่? อันนี้ลองคิดเอาเองครับ (Compound Index เช่น System + Prefix)
--- อีกเยอะเลยครับ คิดเอาเอง (ผมไม่สะดวกที่จะอธิบายได้ครบในทุกกรณี)

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


ปล. เล่าเรื่องจริงให้ฟังครับ 2014-11-26

คีย์บอร์ดไม่ค่อยได้จับ ตอนนี้ผมหันมาจับงาน "โฟร์แมน" ควบคุมงานก่อสร้าง เดี๋ยวเย็นนี้มาเล่าต่อ

ปล 2 ชีวิตจริงของผมมีเรื่องเล่ามากกว่า อธิการบดีทุกฯมหาวิทยาลัย ก็แล้วกันครับ (ในทุกฯเรื่อง)
อย่างน้อยฯถ้ายังมองภาพไม่ออก "เรื่องชั่วฯ ผมก็มีเรื่องเล่าและมันเป็นเรื่องจริงของผมด้วย (ชีวิตจริง)"


ประวัติการแก้ไข
2014-11-26 08:38:39
2014-11-26 08:46:34
2014-11-26 08:53:09
2014-11-26 08:54:06
2014-11-26 08:54:55
2014-11-26 08:57:24
2014-11-26 08:58:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-26 08:37:23 By : หน้าฮี
 


 

No. 16



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



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


ครับพี่ - -
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-26 22:16:47 By : copyringht
 

   

ค้นหาข้อมูล


   
 

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