Я пытаюсь сгенерировать значение идентификатора билета в следующем формате: yymm######
для использования в моей таблице базы данных. Это выражает 2-значный год, 2-значный месяц и 6-значный числовой идентификатор, уникальный для префикса года-месяца.
Если нет других идентификаторов билетов для текущего месяца и года (апрель 2017 года на момент публикации), числовая часть значения по умолчанию должна быть 000000
. В этом случае правильный сгенерированный идентификатор заявки должен быть: 1704000000
.
Если в текущем месяце-году имеется 1 или более ранее существовавших идентификаторов билетов, то новый идентификатор билета должен быть на 1 больше, чем самый высокий идентификатор билета.
В настоящее время я использую php для увеличения идентификатора билета следующим образом:
$tkid = $rowt["TICKET_ID"] + 1;
Но с помощью этого кода генерируется такой идентификатор билета: 17041
Я уже присвоил своим атрибутам ticket_id
значения unsigned zerofill
и type int 6
.
По конструктивным причинам я не хочу использовать автоматическое увеличение.
Код:
$sqlt = "SELECT TICKET_ID FROM group where groupid = '$tid' ";
$ticket = mysqli_query($conn , $sqlt);
$rowcount = mysqli_num_rows($ticket);
if ($rowcount == 0)
echo "No records found";
else
{
$rowt = mysqli_fetch_assoc($ticket);
}
$tkid = $rowt["TICKET_ID"] + 1;
<input type="text" readonly="readonly" value="<?php echo date('ym'). $tkid ;?>" name="TICKET_ID" >
echo $rowt["TICKET_ID"]
и посмотрите, что он показывает - person B. Desai   schedule 29.04.2017