|
|
|
สอบถามการเขียน code php +mysql ให้ตัวเลขออโต้รันโดยมี 000นำหน้าครับ |
|
|
|
|
|
|
|
<?=$number_preview = substr("000".$row["CustomerID"],-3);?>
<?=$number_preview;?>
|
|
|
|
|
Date :
2010-11-09 10:41:49 |
By :
pjgunner.com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าอยากให้มี 00000 นำข้างหน้า นะครับ เวลาออกแบบ DB ให้ปรับ Attributes เป็น UNZIGNED ZEROFILL มันก็จะเติม 00 ให้อัตโนมัติ โดยเราไม่ต้องไปทำอะไรเลยครับ
ลองดูแล้วจะติดใจ อิอิ ถ้าสร้างไปแล้วก็ไป Edit ได้ครับ โดยไม่มีผลต่อข้อมูล
|
ประวัติการแก้ไข 2010-11-09 11:01:52 2010-11-09 11:03:04
|
|
|
|
Date :
2010-11-09 10:53:06 |
By :
adaaugusta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำให้ใช้เหมือน คห 2 ครับ UNZIGNED ZEROFILL
|
|
|
|
|
Date :
2010-11-09 11:03:37 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอนำไปใช้บ้างครับ ขอบคุณครับ
|
|
|
|
|
Date :
2010-11-09 11:04:51 |
By :
maruk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
++แนะนำให้ใช้เหมือน คห 2 ครับ UNZIGNED ZEROFILL
แบบว่า 0000000000มันเยอะไปครับคุณพี่วิน มีวีธีเขียน 000น้อยๆ แบบใหม่ไหมครับ ขอบคุณครับ
|
|
|
|
|
Date :
2010-11-09 11:09:12 |
By :
noizeless |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00000 มันจะเยอะตามจำนวนที่เราจองขนาดครับ
ถ้าเราจองแค่ 4 มันจะออกมา 0001
ถ้าเราจอง 6 มันจะออกมา 000001
ถ้าเราปล่อยว่าง มันจะเป็น 11 จะออกมา 00000000001 น่ะครับ
ควรจองพื้นที่ในการใช้ แต่พอควรครับ ไม่ควรจองเยอะ ถึงคิดว่าจองเผื่อไว้แต่ไม่ควรทำครับ
DB บวม + จะมีค่าเกินความจำเป็นเยอะ
ดูได้จากช่องสุดท้ายครับ ว่าเกินความจำเป็นไปเท่าไหร่
|
ประวัติการแก้ไข 2010-11-09 11:15:36 2010-11-09 11:16:18 2010-11-09 11:16:53
|
|
|
|
Date :
2010-11-09 11:11:53 |
By :
adaaugusta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมไม่แน่ใจว่า มัน fill ให้ทั้งตอน บันทึก และดึง หรือป่าว
ผมคิดว่า best practice น่าจะ ใช้แบบเดิม
$id = $rs['id']; // ex. 00001
$sql = "SELCT * FROM tbl WHERE id={$id}";
มันจะทำงานได้ถูกต้องหรือป่าว ?
ดังนั้น ลดความสับสนโดยใช้แบบเดิม หรือ (int) $id
|
|
|
|
|
Date :
2010-11-09 11:16:56 |
By :
pjgunner.com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อผมลองปรับ ให้int เป็น4 แล้วปรับ Attributes เป็น UNZIGNED ZEROFILL ปรากฎ ว่าได้ผลลัพธ์ในสิ่งที่ต้องการ คือ0001
ตอนแรกที่มี0เยอะ10ตัว เพราะผมกำหนด int เป็น 11ครับ
เข้าใจแล้วครับพี่ แล้วมันจะมีผลอะไรไหมครับพี่ถ้าเราจะมาปรับ0ให้มากขึ้นกรณีเรามีidเยอะขึ้น แบบว่าถ้าต้องการมี0นำหน้าเยอะขึ้น
หมายถึงมาปรับในdatabase ภายหลัง จะมีผลในข้อมูลไหมครับพี่
|
|
|
|
|
Date :
2010-11-09 11:40:59 |
By :
noizeless |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มีครับ ปรับได้ตามใจชอบ
|
|
|
|
|
Date :
2010-11-09 11:46:17 |
By :
adaaugusta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาเป็นว่าแบบนี้นะครับ เผื่อใครอยากจะใช้ แบบเดิม ไม่ต้องเซต ZERO FILL
Code (PHP)
<?=sprintf("%07d", $record['id_ques']);?>
จาก Code ข้างบน
7d คือจำนวนหลัก ที่ต้องการ (7หลัก) ถ้าอยากได้น้อยกว่านี้ ก็เปลี่ยนเอาเช่น 5d , 3d
$record['id_ques'] คือข้อมูลที่เอามาแสดงครับเล่น id ผม = 20
<?=sprintf("%04d", "20");?>
ก็จะได้ 0020 ครับ จบในบรรทัดเดียว เปรี้ยงเดียวจอด !!!! Code สั้นๆ แต่ใช้ได้ดีครับ
ใน DB ก็จะเก็บ 1,2,3,4 แบบเดิม ไม่มี 0000 ข้างหน้าครับ
|
|
|
|
|
Date :
2010-11-09 12:16:28 |
By :
adaaugusta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
เอิ่ม ... ทำไมไม่ใช้ STR_PAD หว่า
$mynumber = $result['id'];
#$mynumber = 3;
$mykey = str_pad($mybumber, 5, "0", STR_PAD_LEFT); #ใส่เลข 0 ข้างหน้ากันหน่อยซิ
$myID = "SV".$mykey ; #ใส่คำว่า SVนำหน้ามันหน่อย
echo $myID; #แสดงผลหน่อย
|
|
|
|
|
Date :
2010-11-09 12:19:21 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ฮ่วยๆ เสือปรากฏตัวทีนี่ มีแนวแฮะ
แล้วแบบไหนดีสุดละทีนี้ (หรือเลือกได้ตามลำบาก เอ้ยตามถนัด )
แล้ว แบบ คห.2 นี่ มันจะใช้ auto increment ได้ไหมครับ(ประมาณว่าขี้เกียจ ดึงค่า max + 1 อ่ะครับ)
|
|
|
|
|
Date :
2010-11-09 13:15:51 |
By :
peterxp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หง่าาาาา เพิ่งรู้ครับ ขอบคุณครับ ที่ใช้ Tool ทดสอบให้ ว่าแต่ Tool ชื่ออะไรครับ อยากได้ๆๆ
ใน OS Mac มีไหมครับ
เอ่อ รวบกวนฝากทดสอบแบบใช้ ZEROFILL ให้หน่อยได้ไหมครับ อยากเห็นว่าเป็นไง
|
ประวัติการแก้ไข 2010-11-09 14:28:29
|
|
|
|
Date :
2010-11-09 14:26:48 |
By :
adaaugusta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียน เมธอดมาเลยครับ
ปล. ใช้ codebench module ของ Kohana ครับ
|
|
|
|
|
Date :
2010-11-09 15:17:43 |
By :
pjgunner.com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|