รันเลขรหัสที่มีตัวอักษรพร้อมกับเลข 000 อยู่ข้างหน้าทำยังไงค่ะ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา รันเลขรหัสที่มีตัวอักษรพร้อมกับเลข 000 อยู่ข้างหน้าทำยังไงค่ะ
รันเลขรหัสที่มีตัวอักษรพร้อมกับเลข 000 อยู่ข้างหน้าทำยังไงค่ะ
คืออยากให้รหัสรันแบบ ตัวอักษร ปี2ตัวสุดท้ายตามด้วยเดือน แล้วเครื่องหมาย - แล้วเพิ่ม 0 กี่ตัวก็ได้ค่ะ เช่น TOP1708-0001 แล้วรัน 0002 ไปเรื่อย ๆ จนถึง 0009 ก็จะเป็น 0010 แบบนี้ไปเรื่อย ๆ ทำยังไงค่ะ ช่วยชี้แนะที
$sql = "select topic_id from tb_topic";
$qry = mysql_query($sql);
$max=0;
$arr_no=array();
if(mysql_num_rows($qry)>0){//มีข้อมูลเดิม
while($rs=mysql_fetch_array($qry)){
list($topic,$no)=explode("-",$rs["topic_id"]);
$arr_no[]=(int)$no;
}
asort($arr_no); // เรียงค่าจากน้อยไปมาก
$max = array_pop($arr_no); // ดึงค่าตัวสุดท้ายมาใช้งาน
$max = $max+1;
$topic_id = "TOP".substr(date("Y"), -2).date("m")."-".$max;
}
else{
$topic_id = "TOP".substr(date("Y"), -2).date("m")."-0001";
}
อันนี้คือโค้ดที่ทำค่ะ
อันนี้คือโค้ดที่ทำค่ะ

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
ลองใช้ str_pad() เป็นแนวทาง
1 | str_pad ( $max ,4, "0" ,STR_PAD_LEFT) |

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

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