WWW.CODE-FATHER.COM ยินดีต้อนรับทุกๆท่าน

บทความทั้งหมด วิธีใช้งานโปรแกรม PHP CODE FATHER V.2016 Register - ลงทะเบียนโปรแกรม Contact Us - ติดต่อเรา About Us - เกี่ยบกับเรา รับเขียนเว็บ โปรเจ็ค PHP vs MySQL
ติดต่อเข้ามาได้เลยนะครับ ราคากันเอง ไม่เคยทิ้งงาน
งานแก้ งานด่วน งานเร่งสอบถามกันก่อนได้ครับผม...
98830Code Login Logout Php การทำระบบล๊อกอิน ล๊อกเอ้า และป้องกันการลักไก่ แบบละเอียดที่สุด 38126Code Send Email by PHP การส่งอีเมล์ด้วย พีเอสพี 41240Captcha Security Code PHP ใส่รหัสยืนยันก่อนโพสป้องกันการสแปมเว็บเราดีกว่า 68239Php Code Insert to Mysql การเพิ่มข้อมูลใหม่เข้าสู่ฐานข้อมูล 46204PHP CODE FATHER โปรแกรมสร้างโปรเจ็ค PHP + Mysql สร้างโค้ดโปรแกรม php mysql insert update add edit delete ง่ายๆ 33476Download Free Program Php Code Father V.2010 ดาวน์โหลดโปรแกรมฟรี 31495ดาวน์โหลดคู่มือ วิธีใช้งานโปรแกรม Php Code Father V.2010 56834Function Confirm Delete JavaScript การยืนยันก่อนลบข้อมูล ง่าย ๆ แต่สำคัญ 30974PHP Function ECHO Exit ฟังก์ชั่นเล็ก ๆ ที่ไม่ธรรมดา เครื่องมือ DEBUG ชั้นยอด 9486PHP CODE FATHER V.2010 ตัวเต็ม Full ขั้นตอนการสมัครและรายละเอียดการลงทะเบียนใช้งานโปรแกรม 77524Code Search PHP In Mysql Database By Fields การค้นหาข้อมูลในฐานข้อมูล ตามชื่อฟิลด์ 28024แก้ปัญหาการใช้งานฟังก์ชั่น substr ใน php ตัดข้อความภาษาไทยแล้วกลายเป็นภาษาต่างดาว 36552การดาวน์โหลดไฟล์+เทคนิคการตั้งชื่อไฟล์เป็นภาษาไทย PHP Code Download File Thai 44481PHP Function Date Thai การแปลงวันที่จาก ค.ศ. เป็น พ.ศ. วันที่แบบไทย ๆ สำหรับคนไทย 40254การแทรก PHP ใน Javascript เรื่องกล้วย ๆ ที่อาจจะต้องได้ใช้ 37682การแทรก Javascript ใน PHP เรื่องกล้วย ๆ ที่จำเป็นต้องรู้ 52198Php Code Upload File การอัพโหลดไฟล์และการตรวจสอบประเภทของไฟล์ภาพและอื่น ๆ 15166 Single Quote SQL Query Insert update แก้ปัญหาเวลาข้อมูลที่มีเครื่องหมายฟันเดี่ยว (single quote) แล้วไม่ได้ ไม่ผ่าน 14065การใช้งานฟังก์ชั่น substring() ใน javascript และการตรวจสอบจำนวนเงินกับการสั่งซื้ออัลบั้มออนไลน์ 110242คำสั่ง sql Select from Where ,Like ,Order By ที่จำเป็นต้องใช้และต้องใช้บ่อย ๆ 48717code update php to mysql database คำสั่งปรับปรุงข้อมูลในฐานข้อมูล 45430php function number_format ใส่จุดทศนิยมและเครื่องหมายคอมม่าให้ตัวเลข เงิน 38022ง่าย ๆ php auto id การสร้างเลขที่อัตโนมัติก่อนเพิ่มข้อมูลใหม่ 52566Code Redirect URL ด้วย php และ javascript การส่งผู้ใช้ไปหน้าที่เราต้องการ 51655ง่าย ๆ การทำวันที่แบบ List ให้เลือก วัน เดืือน ปี Select Option List Date 93002Code PHP Popup การป๊อปอัพหน้าต่างใหม่โดยใช้ Javascript 47187เทคนิค...การทำให้ Textbox กรอกหรือป้อนได้เฉพาะตัวเลขด้วย Javascript ง่ายๆ 44652Step 1 สร้างเว็บบอร์ดแบบบ้านๆ ด้วย PHP Webboard Script 34552เทคนิคการแสดงและซ่อน div, table และอื่น ๆ ด้วย Javascript Show and Hide DIV or TABLE 51388Step 2 ฐานข้อมูล สร้างเว็บบอร์ดแบบบ้านๆ ด้วย PHP Webboard Script 90633ปัญหาการแสดงผลตารางบน Internet Explorer เพี้ยน Table ie7 Error 20939การเชื่อมต่อฐานข้อมูล PHP+MySQL และวิธีแก้ไขปัญหาภาษาไทยผิดเพี้ยน กลายเป็นภาษาต่างดาว 34022วิธีแก้ปัญหา Internal Server Error ตอนรัน PHP กับ Apache Server MSQL 34345แปลงตัวเลขให้เป็นตัวอักษรภาษาไทย PHP Code Thai BathText 37044php easy calculator เครื่องคิดเลขอย่างง่าย บวก ลบ คูณ หาร 31760php easy calculator with Ajax เครื่องคิดเลขอย่างง่าย บวก ลบ คูณ หาร ภาคต่อ 181301ทำระบบล๊อกอินอย่างง่าย ด้วย PHP Login with Mysql Data Base 10866Step 3 โค้ดเว็บบอร์ดแบบง่าย ๆ พร้อมใช้งาน PHP Webboard Script 41357โค้ดการเลือกจังหวัด อำเภอ ตำบล ด้วย Ajax vs Code PHP select Provicne Umphur District 76250(ภาคต่อ แก้ไข อัพเดท) โค้ดการเลือกจังหวัด อำเภอ ตำบล ด้วย Ajax Code PHP select Provicne Umphur District with Edit 24265แก้ปัญหาPHP อัพขึ้น Host แล้วใช้งานไม่ได้ ไม่ส่งค่าตัวแปรแต่ที่เครื่อง localhost ใช้ได้ 162482PHP Random Number+String สุ่มตัวเลขตัวอักษรหรือตัวหนังสือไม่ซ้ำอย่างง่าย 126227โค้ดระบบแบ่งหน้า เพิ่ม ลบ แก้ไข และค้นหาตามรายชื่อฟิลด์ในหน้าเดียว 79095ติ๊กถูก Checkbox ยอมรับเงื่อนไขแล้วปุ่ม submit ขึ้นให้คลิก 18945แก้ปัญหา warning session_start() function.session-start cannot send session cache limiter 36322การใช้งานโปรแกรม php code father สร้างไฟล์ php แสดงข้อมูล เพิ่ม ลบ แก้ไข ค้นหา แบ่งหน้า 344443ฝึกเขียนโค้ด php โปรแกรมจำลองการถอนเงินจากตู้ ATM 202701สอนเขียน PHP แบบฮาๆ ตอน 1 ติดตั้งโปรแกรมพร้อมใช้งานเบื้องต้น 71235การแบ่งหน้า Boostrap Pagination PHP+MySql ง่าย ๆแบบจับมือทำ 27990Easy Code PHP Check Device โค้ดตรวจสอบประเภทอุปกรณ์ที่กำลังใช้งานเว็บไซต์ 9276สอน PHP สร้าง Webboard ตอน 1 สร้างฐานข้อมูล Mysql 14491สอน PHP Webboard ตอน#2 เชื่อมต่อฐานข้อมูล Connect Mysql DataBase 198907สอน PHP Webboard ตอน#3 ระบบล๊อกอิน Login เข้าสู่ระบบ 28769มาแล้วครับ PHP CODE FATHER V.2016 ร่วมกับ Boostrap 51695วิธีแก้ปัญหา Xampp เข้า phpMyadmin ไม่ได้
1# ง่าย ๆ php auto id การสร้างเลขที่อัตโนมัติก่อนเพิ่มข้อมูลใหม่
ง่าย ๆ php auto id การสร้างเลขที่อัตโนมัติก่อนเพิ่มข้อมูลใหม่

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

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

เพื่อไม่เป็นการเสียเวลา เข้าเรื่องเลยละกันนะ...

บางคน (โดยเฉพาะมือใหม่) ที่ยังออกแบบดาต้าเบส หรือ ฐานข้อมูลไม่ค่อยเก่งนั้น
ส่วนมากจะสร้างรหัส (ไพมารี่คีย์) ให้เป็นแบบ auto_number โดย เลือกประเภทของฟิล์เป็นแบบตัวเลข INT และกำหนดค่าเป็น auto_increment เพื่อให้ฟิลด์หลักนั้น เป็นแบบ autoid นั่นเอง

ซึ่งมันก็ไม่ได้ผิดอะไร เวลาเพิ่มข้อมูลก็ไม่ต้องไปยุ่งยากกำหนดค่าให้มัน เช่น
Insert into std Set std_name='code father'
จากโค้ดจะสังเกตุได้ว่า ไม่ได้มีการกำหนดค่าหรืออ้างถึง std_id แต่อย่างใด เนื่องจากฟิลด์ std_id นั้น ได้กำหนดค่าให้เป็นแบบ auto number แล้ว เวลาเพิ่มข้อมูลใหม่ จึงไม่จำเป็นต้องกำหนดค่า หรือ เอามาเกี่ยวข้องแต่อย่างใด ก็สามารถเพิ่มข้อมูลใหม่เข้าสู่ database ได้เช่นกัน

แต่ปัญหาที่ตามมาก็คือ ในฐานข้อมูล ค่าในฟิลด์ std_id นั้นจะเป็นค่าของตัวเลขจำนวนเต็ม (INT)
ซึ่งเวลาแสดงผลให้ผู้ใช้งานดูจะไม่สวยงามเท่าใดนัก ทำให้บางครั้งต้องใช้ฟังก์ชั้นสำหรับจัดการรูปแบบให้กับตัวเลขนั้นอีกที เช่น

1   ต้องการแสดงผลเป็น 00001
12 ต้องการแสดงผลเป็น 00012

ฟังก์ชั่นที่ใช้เปลี่ยนค่าตัวเลขให้เป็นรูปแบบตามที่ต้องการข้างบนก็ ตามนี้ครับ

sprintf("%05d",$std_id) // หากต้องการ 3 ตำแหน่งก็เปลี่ยน จากเลข 5 เป็นเลขที่ต้องการได้เลย

************ จบแบบเบสิค **************

มาต่อกันกับการสร้างเลขที่ auto id แบบที่ผมตั้งใจจะนำเสนอกันดีกว่า
มันก็คือการไปเลือกเอาค่า id ที่มากที่สุดที่อยู่ในฐานข้อมูลมา จากนั้นก็บวกเพิ่มเพื่อสร้างเป็นรหัสใหม่ โดยมีโค้ดง่าย ๆ ตามนี้ครับ

$new_id =mysql_result(mysql_query("Select Max(std_id)+1 as MaxID from  std"),0,"MaxID");//เลือกเอาค่า id ที่มากที่สุดในฐานข้อมูลและบวก 1 เข้าไปด้วยเลย
            if($new_id==''){ // ถ้าได้เป็นค่าว่าง หรือ null ก็แสดงว่ายังไม่มีข้อมูลในฐานข้อมูล
                $std_id="00001";
            }else{
                $std_id=sprintf("%05d",$new_id);//ถ้าไม่ใช่ค่าว่าง
            }

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

*** ตัวอย่างโค้ดข้างบนนี้ สำหรับ กรณีที่ฟิลด์ std_id เก็บไว้แบบตัวเลข เช่น 1, 2 หรือ 00001, 00002 ฯลฯ เป็นต้น เท่านั้นนะครับ ใช้ไม่ได้สำหรับฟิล์ดที่เก็บแบบตัวเลขผสมกับตัวอักษร เช่น S0001, ID0001 ฯลฯ เป็นต้น

******************************************
คำถามต่อมาก็คือ แล้วถ้าฟิลด์ std_id เก็บค่าแบบ ตัวเลขผสมตัวอักษรหล่ะ จะทำไงดี
ปัญหานี้ก็ไม่ใช่เรื่องใหญ่ครับ เราก็ต้องเพิ่มคำสั่งเล็ก ๆ น้อย ๆ อีก ดังนี้

สมมุติว่าฟิลด์ std_id มีข้อมูลอยู่ 10 รายการ คือ S0001 , S0002 ...........S0010
เราก็เพิ่มคำสั่งตัดคำ คือ ตัดตัวอักษรออกก่อน ในที่นี้คือ ตัว S นั่นเอง

$new_id =mysql_result(mysql_query("Select Max(substr(std_id,-4))+1 as MaxID from  std"),0,"MaxID");//เลือกเอาค่า id ที่มากที่สุดในฐานข้อมูลและบวก 1 เข้าไปด้วยเลย
            if($new_id==''){ // ถ้าได้เป็นค่าว่าง หรือ null ก็แสดงว่ายังไม่มีข้อมูลในฐานข้อมูล
                $std_id="S0001";
            }else{
                $std_id="S".sprintf("%04d",$new_id);//ถ้าไม่ใช่ค่าว่าง
            }

จะสังเกตุว่าส่วนที่เพิ่มเข้ามาก็คือ คำสั่ง substr(std_id,-4) ที่เดียวเท่านั้นเอง

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