Я использую функцию для создания уникального идентификатора, используя последний идентификатор из таблицы.Но проблема возникает, когда человек открывается примерно в одно и то же время.Не могли бы вы предложить какие-либо исправления в текущей функции?Так как эта функция используется на производстве и на живом сервере, небольшая подстройка в коде будет намного лучше.
Вот функция с использованием:
function approvalNumber()
{
$data=array();
$text = "APN/";
$position = "front";
$this->db->order_by('approval_id','desc');
$this->db->limit('1','0');
$query=$this->db->get('approval_note');
if($query->num_rows()>0)
{
foreach($query->result_array() as $row){
$data[] = $row;
}
}
$query->free_result();
if(count($data))
$id=str_pad((int) $data['0']['approval_id']+1,4,"0",STR_PAD_LEFT);
else
$id='0001';
return $approvalNo = $text.$id;
}
Это приведет к: APN / 0371