Hola quisiera saber como puedo extender el script de php que tengo para crear códigos aleatorios con un formato xxxxx-xxxxx-xxxxx-xxxxx-xxx15 donde el 15 del final es el año actual, tengo este código que me genera códigos aleatorios entre números y letras, pero el formato de este código es xxxxxxxxxx de 10 caracteres y quisiera que sea como el formato anterior y que verifique en la base de datos si no existe:
Código PHP:
function generarCodigo()
{
$key = '';
$pattern = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$max = strlen($pattern)-1;
for($i=0; $i < 10; $i++) $key .= $pattern{mt_rand(0,$max)};
return $key;
}
$id = generarCodigo();
La variable $id guarda el código, para verificar en la base de datos hice esto pero no se si están bien:
Código PHP:
function generarCodigo($conexion)
{
$key = '';
do
{
$pattern = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$max = strlen($pattern)-1;
for($i=0; $i < 10; $i++) $key .= $pattern{mt_rand(0,$max)};
$consulta_verificar = mysqli_query($conexion, "SELECT * FROM codigos WHERE Valor = '".$key."'");
$verificar = mysqli_num_rows($consulta_verificar);
}
while($verificar==1);
return $key;
}
$numero = generarCodigo($conexion);
Donde la variable $numero me guarda el código generado y en teoría verificó en mi base de datos, pero no se como hacer la lógica para que me quede en el el formato xxxxx-xxxxx-xxxxx-xxxxx-xxx15
Muchas gracias por la ayuda.