รันเลขรหัสที่มีตัวอักษรพร้อมกับเลข 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";
}


อันนี้คือโค้ดที่ทำค่ะ


Anyarut 49.231.10.xxx 24-08-2017 14:21:16

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ลองใช้ str_pad() เป็นแนวทาง
 
str_pad($max,4,"0",STR_PAD_LEFT)
 


ninenik 183.88.67.xxx 24-08-2017
 ความคิดเห็นที่ 2
ได้แล้วค๊าาา ขอบคุณนะค่ะ 


anyarut 49.231.10.xxx 25-08-2017 10:23






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ