Auto Generate Number

agan-agan jenius ane mau tanya ni, ane mau buat sebuah function yang berfungsi untuk meng-auto generate number, kondisinya kaya gini:

misal ane punya tabel nama fieldnya :

numberA : 0001

numberB : 001->999

2 field itu tipe datanya char dan datanya gak diinput tapi otomatis ngisi kaya auto increment, dan dua-duanya sebagai composit key. 1 data numberA bisa menampung 999 number B, jadi ketika data numberB sudah mencapai 999 otomatis data numberA jadi 0002.

secara sederhana logikanya gini gan :

$sql = "SELECT * From table ";

if($sql=null)

{

numberA = '0001';


numberB = '001';

}else{

if(numberB<999)


{


   $sql2 = "SELECT to_number(MAX(numberA),'999') From table ";


   $sql2+1;


}

}

maaf kalo logikanya kacau. ane mohon bantuannya gan

Itu maksudnya gimana gan?? Pengennya pas lagi diliat datanya terus number langsung ke generate di database?? atau ngegenerate di grid view??

gini gan, ane bikin form buat input ke table X, fieldnya:

numberA

numberB

name

alamat

nah, yang diinput lewat form itu cuma name dan alamat, numberA dan numberB otomatis terisi dengan nilai, apabila data masih kosong numberA = ‘0001’, numberB = ‘001’,. jika ane nambah data lagi, numberA tetap otomatis terisi ‘0001’ sampai numberB = ‘999’.

masih bingung nggak gan?

Maunya pake function di database atau dalam phpnya ??

Kalo pakai db, kira - kira dbnya pake apa ? (MySql, PostgreSQl, Oracle, MS SQL Server, atau yang lain).

Merdeka…

gini gan, pada saat input data nama = A dan alamat = Alamat A kondisinya

jika tabel masih kosong, maka

numberA = ‘0001’;

numberB = ‘001’;

nama = ‘A’;

alamat = ‘Alamat A’;

jika tabel sudah ada datanya, maka;

numberA = ‘0001’;

numberB = ‘(numberB yang terakhir)+1’;

nama = ‘A’;

alamat = ‘Alamat A’;

NB : jika numberB > 999, maka otomatis numberA = ‘002’, dst.

function php aj gan, ane pake PostgreSQL databasenya

Sekali merdeka tetap merdeka :D

Bisa lihat di sini kira - kira teorinya hampir sama kok


http://www.yiiframework.com/forum/index.php/topic/35141-konversi-char-ke-number/