Page 1 sur 1
Exploité la derniere modification sur l'affichage de prix
Posté : 04 mai 2005, 11:07
par Invité
bonjour,
J'ai une base de donnée avec des produits et des prix.
Comment puis-je faire pour que dés lors qu'un prix est changé, il puisse etre remarqué afin que je puisse trier la base par date de derniere modification de prix ?
je suis dans unflou partiel
j'ai pensé à la fonction DATE mais le champs reste par défaut 00 00 0000
Posté : 04 mai 2005, 12:34
par sadeq
Il faut ajouter un champ 'date_modification' de type datetime dans la table des produits et le mettre à jour dès que le prix d'un produit change.
Pratiquement : quand tu change le prix d'un produit, tu fait une requête UPDATE qui met le nouveau prix dans le champ 'prix' et la date du jour dans le champ 'date_modification'.
ça peut être un truc comme ça :
....
$date_jour = date("y/m/d");
$sql ="UPDATE Produit SET prix = $nouveau_prix , date_modification = '$date_jour' WHERE ref_produit = $ref_produit";
...
En suite, tu peux faire ton tri... comme :
tu vois
Posté : 04 mai 2005, 12:48
par ouckileou
si le champ "date_modification" suggéré par sadeq est de type Timestamp, il sera automatiquement mis à jour lors de la requête UPDATE
Posté : 04 mai 2005, 13:02
par Invité
merci je vais essayer
Re: Exploité la derniere modification sur l'affichage de pri
Posté : 04 mai 2005, 13:05
par pjl
oui mais s'il change un libéllé par exemple et non un prix, la valeur du timestamp changera aussi.
j'ai pensé à la fonction DATE mais le champs reste par défaut 00 00 0000
Par défaut, le format est YYYY-MM-DD donc ca donnera 0000 00 00.
Posté : 04 mai 2005, 13:22
par Invité
Super ca marche bien,
$date_jour = date("y/m/d");
$sql ="UPDATE produits SET prix,marque,designation = $nouveau_prix , dateproduit = '$date_jour' WHERE id = $id";
A placer avant
$stmt = db_query($req)
Et en effet, il faut utiliser
timestamp
pour que la base SQL se mette à jour
Posté : 04 mai 2005, 13:22
par Invité
Merci beaucoup
Re: Exploité la derniere modification sur l'affichage de pri
Posté : 04 mai 2005, 13:37
par ouckileou
oui mais s'il change un libéllé par exemple et non un prix, la valeur du timestamp changera aussi.
c'est vrai, pardon.
Re: Exploité la derniere modification sur l'affichage de pri
Posté : 04 mai 2005, 13:46
par pjl
oui mais s'il change un libéllé par exemple et non un prix, la valeur du timestamp changera aussi.
c'est vrai, pardon.
c'est simplement une précision à apporter, ensuite tout dépend de la structure de sa table.
Posté : 04 mai 2005, 13:49
par ouckileou
oui, moi je n'ai pas réfléchi plus loin que ça tu fais bien de le préciser

Posté : 04 mai 2005, 14:38
par Invité
non justement ce qui est bien avec le datestamp
c'est que l'on choisi les libélé à faire changé par la date.
Moi en ce qui me concerne c'était le prix, mais dés lors que j'ai vu que ca fonctionnais alors j'ai intégré
$sql ="UPDATE produits SET prix,marque,designation = $nouveau_prix , dateproduit = '$date_jour' WHERE id = $id";
Mais si tu veux uniquement avoir la date de derniere modif du prix
alors dans ce cas
$sql ="UPDATE produits SET prix = $nouveau_prix , dateproduit = '$date_jour' WHERE id = $id";
je le sais grace à vous