Aller au contenu

MAJ d'un champ avec contraintes


Sujets conseillés

Posté

Bonjour,

Voici la problématique:

dans une table "order_lines", dont les enregistrements sont ceux d'un panier, l'un des champs indique le numéro de ligne ajoutée dans la table. Pour exemple, ce champ, nb_lines, est renseigné de la sorte:

lorsque je choisis un article dans la boutique, le champ nb_lines prend la valeur 1, puisque c'est le premier article choisi.

Pour un second article, nb_lines prendra la valeur 2.

pour un 3ème, nb_lines = 3.

Maintenant, dans mon panier, je souhaite supprimer le deuxième article, puisqu'il ne m'intéresse plus.

la ligne concernée, avec nb_lines = 2, est donc supprimée.

La contrainte est qu'il faut que la ligne ayant nb_lines = 3 soit modifiée, et que nb_lines prenne la valeur 2, afin qu'il n'y ait pas de "trou" dans la suite des valeurs de nb_lines.

Autrement dit:

nb_lines avant suppression d'articles:

article 1 - nb_lines = 1

article 2 - nb_lines = 2

article 3 - nb_lines = 3

article 4 - nb_lines = 4

article 5 - nb_lines = 5

nb_lines après suppression (2 suppressions):

article 1 - nb_lines = 1

article 3 - nb_lines = 3

article 5 - nb_lines = 5

valeurs de nb_lines voulues, après traitement:

article 1 - nb_lines = 1

article 3 - nb_lines = 2

article 5 - nb_lines = 3

Pourriez-vous m'aider ?

Merci de vos réponses,

xpatval

Posté

Bonjour !

A chaque suppression d'article, tu peux faire :

UPDATE table SET nb_lines = nb_lines - 1 WHERE nb_lines > $article_a_supprimer

Donc dans ton exemple :

UPDATE table SET nb_lines = nb_lines - 1 WHERE nb_lines > 2

Posté

Il suffisait de le dire... :hypocrite:

Merci Sarc

Et Happy new machin...

xpatval

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...