i want to create a Student ID number compose of 4 digit year and a 5 digit auto increment field. example: 2013-00001 and when the year ends, the 5 digit number will restart to zero (0) example: 2014-00001.
Thanks, Metta
i want to create a Student ID number compose of 4 digit year and a 5 digit auto increment field. example: 2013-00001 and when the year ends, the 5 digit number will restart to zero (0) example: 2014-00001.
Thanks, Metta
create Table width two columns: Year,LatestNumber
function generateStudentId(){
$year = date("Y");
$latestNumber = 0;
$res = mysql_query("select * from myTable where Year=$year");
$result = mysql_fetch_array($res);
if($result)
$latestNumber = $result['LatestNumber'];
$latestNumber++;
if($result){
mysql_query("update myTable set LatestNumber=$latestNumber where Year=$year");
}
else
mysql_query("insert into myTable values($year,$latestNumber)");
$fiveDigitNumber = return str_pad((int) $latestNumber,5,"0",STR_PAD_LEFT);
$studentId = $year.$fiveDigitNumber;
return $studentId;
}
You can use the StudentId table itself where you store all the data.
select LatestNumber from StudentIds where Year=2013 ORDER BY LatestNumber DESC LIMIT 1;
Keep the number separate from the year, so you can reset it on a new year by adding a dummy Year=2014, LatestNumber=0
$LatestNumber = $result['LatestNumber'];
$LatestNumber++;
insert into StudentIds (Year, LatestNumber, ...) values (2013, $LastestNumber, ...)
Add error handling in case of multiple queries etc...