|
|
|
PHP+ODBC+MS SQL Server เขียน php รัน id แบบนี้ ต้องทำไงครับ |
|
|
|
|
|
|
|
ผมทำแบบนี้ครับ
นับ rows มาก่อน เอามา +1 แล้ว insert ครับ
Code (PHP)
function varcharid($pattern,$rows)
{
$rows_len = strlen($rows); // นับจำนวน character
$new_id =substr($pattern,0,-($rows_len)); // ตัด 0 ตัวท้ายออก เท่ากับ length ของ rows
return ($new_id."".($rows+1));
}
$sql = mysql_query("select * from table");
echo varcharid("0000000000",(mysql_num_rows($sql)));
|
ประวัติการแก้ไข 2012-03-08 13:48:57
|
|
|
|
Date :
2012-03-08 13:40:00 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้ว ครับ ดังนี้
ดึงค่า id จากใน db ที่มีค่ามากที่สุด โดย คำสั่ง
Code (PHP)
$execno=odbc_exec($connect,"SELECT MAX(OrderID) maxid FROM table")or die(odbc_error());
while($no=odbc_fetch_array($execno)){
$max=$no['maxid'];
}
เมื่อได้ค่า MAX แล้ว ให้ บวก 1เข้าไป
Code (PHP)
$maxplus=$max+1;
$as=strlen($maxplus);
switch($as){
case 1:
$newId = "000000000".$maxplus;
break;
case 2:
$newId = "00000000".$maxplus;
break;
}
echo $newId;
เมื่อได้ค่าแล้ว ก็ บันทึกลง Db ได้เลย ครับ
ขอบคุณครับ ที่ไกค์ให้
|
ประวัติการแก้ไข 2012-03-09 11:41:57
|
|
|
|
Date :
2012-03-09 11:39:22 |
By :
saksri555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|