|
|
|
รบสอบถามวิธีรันเลขเอกสารต่อช่วงตัวเลขที่หายไปครับ...เช่น เรารันเลข เอกสารไป มี 001,002,003,004,005,009,010 แล้วต้องการรันเลขต่อจาก 005 ซึ่งจะเป็น 006 ได้อย่างไรครับ |
|
|
|
|
|
|
|
จะทำแบบนั้นเพื่ออะไรครับ อันที่จริงถ้าเป็น Auto Increment ตัว เลขที่หายไปก็จะถูกข้ามไปเลยครับ
|
|
|
|
|
Date :
2012-02-07 15:35:55 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอทราบเหตุผลในการ run เลขต่อจากเลขที่ขาดหายไปหน่อยครับ เพราะถ้าไม่จำเป็นก็ไม่ควรทำนะครับ เพราะถ้าระบบใหญ่ขึ้นเรื่อยๆ การที่จะให้ program ค้นหาเลขน้อยที่สุดที่หายไป เพื่อเพิ่มตัวเลขนั้นอาจจะทำให้ระบบมีปัญหาได้นะครับ... ความจริงก็มีนะครับการทำแบบ จขกท ต้องการ มันก็ไม่ยากเท่าไหรครับ ขึ้นอยู่กับอัลกอริทึ่มของแต่ละคน
|
|
|
|
|
Date :
2012-02-07 15:54:24 |
By :
Songkram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าต้องการเอาเลขนั้นมาใช้งาน ต้องทำไงครับผม
|
|
|
|
|
Date :
2013-03-06 15:20:19 |
By :
osapp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เลข 006 ครับ
|
|
|
|
|
Date :
2013-03-06 15:21:37 |
By :
osapp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
$arr=array("001","002","003","004","005","008","009","010"); // array จำนวน str
$count=count($arr)-1; // นับcount $arr -1
$int=array(); // สร้าง array
for($i=0;$i<=$count;$i++){ // แปลงค่า str array เป็น num array
$int[]=(int)$arr[$i];
}
for($i=1;$i<=20;$i++){ //สมมุติจำนวนสุดสุดคือ 20
$mat=0; // สร้างตัวแปรเปรียบเทียบเริ่มต้นที่0
for($m=0;$m<=$count;$m++){ //วน loop for ของ array num
if($i==$int[$m]){ // ถ้าจำนวนซ้ำ array num จะมีแค่จำนวนเดียวเท่านั้นให้เปลี่ยน ถ้ามีตัวแปรซ้ำ $mat=1;
}
}
if($mat == 0){ //ถ้าไม่มี array ทีเหมือนกัน ให้ break; การทำงาน
$no=$i; //เก็บค่าทำ serail ต่อไป
break;
}
}
echo $serial=substr("000000".$no,-3);
?>
|
ประวัติการแก้ไข 2013-03-06 16:29:44
|
|
|
|
Date :
2013-03-06 16:28:13 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|