Espero puedan apoyarme con su ayuda.
Tengo tres campos uno de ellos es "código" al momento de guardar la información
guarda correctamente.
Lo que me gustaría es lo siguiente, al momento de hacer un nuevo INSERT, debería tomar el Ultimo ID
y guardar en el campo "código" de la misma tabla, de esta forma: 'CASO-2022-1' el ID es auto incrementable
por lo que va aumentando, y cada vez que haga un nuevo INSERT guarda el ultimo algo así 'CASO-2022-14' etc..
ejemplo:
| nombre | codigo | fecha |
| Julio | CASO-2022-1 | 2021-12-25 01:01:01 |
| Juan | CASO-2022-2 | 2021-12-26 02:02:02 |
Código PHP:
<?php
include_once 'conn.php';
if(isset($_POST["operation"]))
{
if($_POST["action"] == "add")
{
// Esto si funciona.
$statement = $conexion->prepare(
"INSERT INTO paciente (nombre, codigo, fecha)
VALUES (:nombre, :codigo, :fecha)");
$result = $statement->execute(
array(
':nombre' => $_POST["nombre"],
':codigo' => $_POST["codigo"],
':fecha' => $_POST["fecha"]
)
);
// Es una idea pero no me funciona.
$ultima = $conexion->lastInsertId();
$codigo = "CASO-".date("Y")."-".$ultima; // CASO-2022-1, CASO-2022-2, Etc..
$statement = $conexion->prepare("UPDATE paciente SET codigo = $codigo WHERE idpaciente = '$ultima'");
$statement->execute();
$result = $statement->execute(
array(
':codigo' => $_POST["codigo"]
)
);
}
}
?>