Vamos ha ver.
Supongamos una tabla que almacena los avisos de averias, TblAverias.
y una tabla auxiliar que almacena los contadores, TblContadores.
Ahora imagina una página con unos cuantos botones, al pulsar en uno, llamamos a un formulario que recoge un nuevo aviso de averia, al cargarse el formulario, se genera una variable que llamare $IdAveria y que contendrá el valor almacenado en un campo (NewIdAveria), de la tabla TblContadores.
En codigo php sería:
Código PHP:
//Recuperar el Identificador de averia desde tabla auxiliar
$Sql = "SELECT * FROM TblContadores";
$Query = mysql_query($Sql);
$row = mysql_fetch_array($Query);
//Asignar el valor para el identificador
$IdAveria = $row["NewIdAveria"];
//Incrermentar el identificador para generar uno nuevo y así
//tenerlo disponible para una nueva llamada.
$TmpIdAveria = $IdAveria + 1;
//Almacenar el nuevo Identificador en la tabla auxilir
$NewId = "UPDATE TblContadores SET NewIdAveria = $TmpIdAveria;
//continuar con los campor que sean necesarios en el formulario.....
ahora bien, ya tenemos el identificador en
una variable, si se produce una nueva llamada al scrip que añade un nuevo registro a la tabla TblAverias, el proceso se repite y asi sucesivamente.
Tal como te lo puesto, la forma sencilla, lo que puede suceder es que el aviso de avería sea cancelado por la persona que está introduciendo los datos y que los identificadores almacenados no sean correlativos, si deseas ver todos los registros una simple consulta te los devuenve.