Compra de productes: diferència entre les revisions

De Wiki personal d'en Guillem Serrat
Es crea la pàgina amb «== Compra de productes == A l'aplicació s'implementa la funcionalitat de comprar els productes dins del cistell. La funció d'aquesta funcionalitat és desar la compra i els seus detalls a la BD. == Inicialització de la sessió i connexió a la BD == == Inici de la transacció == === Verificació de la quantitat de productes === === Recuperació de les dades del producte === === Verificació de quantitat de productes amb stock === === Desar els detalls de...».
 
Línia 5: Línia 5:


== Inici de la transacció ==
== Inici de la transacció ==
En aquest cas realitzarem tot el procés mitjançant una transacció. Una transacció ens permet rectificar tot el que s'ha fet abans de que es produis un error.
En aquest codi estarem insertant i actualitzant molts registres a la BD, i no volem que un registre es mantingui quan realment ha sigut una compra incorrecte i no s'ha pogut processar correctament
Gràcies a una transacció, en cas de que certes operacions es realitzin correctament, en cas d'haver-hi algun error en alguna futura, totes les que s'han realitzat correctament seran desfetes.<pre>
$pdo->beginTransaction();
</pre>A més, iniciarem una variable per calcular el total de compra i una array on desarem els detalls dels productes<pre>
$total_compra = 0; // Definim el total de la compra
$detalls_compra = []; // Definim una array on especificarem els detalls de cada compra (quantitat, preu, etc)
</pre>


=== Verificació de la quantitat de productes ===
=== Verificació de la quantitat de productes ===

Revisió del 23:39, 30 des 2025

Compra de productes

A l'aplicació s'implementa la funcionalitat de comprar els productes dins del cistell. La funció d'aquesta funcionalitat és desar la compra i els seus detalls a la BD.

Inicialització de la sessió i connexió a la BD

Inici de la transacció

En aquest cas realitzarem tot el procés mitjançant una transacció. Una transacció ens permet rectificar tot el que s'ha fet abans de que es produis un error.

En aquest codi estarem insertant i actualitzant molts registres a la BD, i no volem que un registre es mantingui quan realment ha sigut una compra incorrecte i no s'ha pogut processar correctament

Gràcies a una transacció, en cas de que certes operacions es realitzin correctament, en cas d'haver-hi algun error en alguna futura, totes les que s'han realitzat correctament seran desfetes.

$pdo->beginTransaction();

A més, iniciarem una variable per calcular el total de compra i una array on desarem els detalls dels productes

$total_compra = 0; // Definim el total de la compra $detalls_compra = []; // Definim una array on especificarem els detalls de cada compra (quantitat, preu, etc)

Verificació de la quantitat de productes

Recuperació de les dades del producte

Verificació de quantitat de productes amb stock

Desar els detalls del producte dins d'una array

Inserció de dades a la BD

Actualització de l'stock dels productes

Confirmació de la transacció i gestió d'errors

Verificació de compra