Featured Post

Tablas Responsivas con Bootstrap 5 pc escritorio y dispositivos mobiles

ULTIMO Y PROXIMO ID DE TABLA MYSQL CON PHP METODO PDO EJ NRO FACTURA


 
<?php


$dsn = "mysql:host=localhost;dbname=tienda";
$usuario = "root";
$contraseña = "root";

try {
    $pdo = new PDO($dsn, $usuario, $contraseña);
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
    exit();
}

// Consulta SELECT SQL
$sql = "SELECT * FROM productos";  // Reemplaza con la consulta SQL necesaria

$resultado = $pdo->query($sql);

if ($resultado->rowCount() > 0) {
    // Procesar los resultados de la consulta
    while ($fila = $resultado->fetch()) {
        // Acceder a las columnas de la fila
        echo "id: " . $fila["id"] . " - Nombre: " . $fila["nombre"] . "<br>";
        echo "<hr>";
    }
} else {
    echo "No hay datos";
}


echo "<hr>";


$consulta = "SELECT max(id) AS id FROM productos";
$resultado = $pdo->query($consulta);
$fila = $resultado->fetch();

echo "El ultimo ID es: " . $fila["id"];

echo "<hr>";



$sql2 = "SELECT * FROM productos ORDER BY id DESC LIMIT 1";

$resultado2 = $pdo->query($sql2);

if ($resultado2->rowCount() > 0) {

    $fila2 = $resultado2->fetch();

    $id = $fila2["id"]+1;

    echo "El proximo  ID es: " . $id;

} else {
    echo "No hay registros en la tabla tbl";

}


echo "<hr>";


$ultimos8Caracteres = substr($id, -8);



// Convertir la parte derecha a un número y sumar 1

$nuevoValor = intval($ultimos8Caracteres) + 1;



// Formatear el resultado con 7 caracteres y rellenar con ceros a la izquierda si es necesario

$nuevoCodigo = str_pad($nuevoValor, 8, '0', STR_PAD_LEFT);



// El nuevo código está en $nuevoCodigo

echo "N° Fact: 0001-".$nuevoCodigo;

?>

Comentarios