ช่วยดูโค๊ด auto number ให้หน่อยค่ะ นั่งหามาทั้งคืนแล้ว มันรันได้แค่ 10
ลองใช้ for เข้ามาใช่วย ครับ แบบนี้น่ะครับ for($i=1; $i<=$row; $i++)
Date :
2010-11-17 09:44:59
By :
kanchen
ไม่ได้ค่ะ มันยังได้แค่ 009 เหมือนเดิม
Date :
2010-11-17 11:04:02
By :
aobjung
สิ่งที่ต้องการ ให้ออกมาเป็นแบบนี้เลยเหรอครับ BP1011-0011 หรือว่าให้แสดงเป็นแถวแบบ
BP1011-0001
BP1011-0002
.....
BP1011-0011
หรือแบบนี้ครับ
Date :
2010-11-17 11:29:19
By :
kanchen
if($id != ''){
$billstr = "BP".date("ym");
$check_suffix = mysql_query("select BILL_NO from billing where BILL_NO like '".$billstr."%' order by BILL_NO desc limit 1") or die (mysql_error());
$num = mysql_fetch_row($check_suffix);
$strnum = explode("-",$num[0]);
$lastdigit = (int)$strnum[1];
$autonum = $lastdigit+1;
$length = strlen($autonum);
if($length == 1)
$autonum = "000".$autonum;
elseif($length == 2)
$autonum = "00".$autonum;
elseif($length == 3)
$autonum = "0".$autonum;
$bill_no = $billstr.$autonum;
Date :
2010-11-17 11:32:27
By :
extenser
ใช่ค่ะ ตอนนี้ มันได้แค่ BP1011-0010 สูงสุดค่ะ มากกว่านี้มันก็จะออกมา BP1011-0010 ซ้ำกันค่ะ
1011 เป็นปีกับเดือนค่ะ
Date :
2010-11-17 11:32:29
By :
aobjung
คุณ Extension ไม่ได้ค่ะ ค่าออกมาเป็น BP10110010
Date :
2010-11-17 11:49:20
By :
aobjung
แก้บรรทัดสุดท้ายครับ
$bill_no = $billstr."-".$autonum;
Date :
2010-11-17 12:04:34
By :
extenser
ลองแบบง่ายๆดูนะครับนับจำนวนเรคคอร์ดแล้ววนลูปเข้าไปครับ
Code (PHP)
<?php
$billstr = "BP".date("ym");
$topic = 200;//จำนวนเรคคอร์ดที่ค้นหาจากฐานข้อมูลมาได้
for($i=1;$i<=$topic;$i++){
if ($i<=9) {$zero="000";
}else if ($i>=10 and $i<=99) {$zero="00";
}else if ($i>=100 and $i<=999) {$zero="0";
}else if ($i>=1000 and $i<=9999) {$zero="";}
echo $billstr."-".$zero.$i."<br>";
}
?>
จะได้ค่าแบบนี้ครับ
BP1011-0001
BP1011-0002
BP1011-0003
BP1011-0004
BP1011-0005
BP1011-0006
BP1011-0007
BP1011-0008
BP1011-0009
BP1011-0010
BP1011-0011
BP1011-0012
BP1011-0013
BP1011-0014
BP1011-0015
BP1011-0016
ประวัติการแก้ไข 2010-11-17 13:15:09
Date :
2010-11-17 13:03:09
By :
komson94
Load balance : Server 03