Page 1 sur 1
MAJ Lancer une tache (php) a une moment précis.
Posté : 05 mai 2008, 17:00
par guigui69
bonjour à tous,
J'avance sur ma base de donnée et les personnes qui vont l'utiliser voudrait voudrait savoir si cela est possible (car moi je ne sais pas.)
Explication simple:
Nous avons prix d'une matière qui ne change qu'a partir du 1 juin (sont prix de départ est de 1.2 € et il va passer a 1.8€)
Est-il possible de créer une page (ou autre chose) qui permettrait par exemple la modification du prix en automatique a une date voulue.
La personne selectionne le produit, lui indique le nouveau prix et la date d'activation.
Merci d'avance pour votre aide.
guigui69
Posté : 05 mai 2008, 17:07
par guilt92
Bonjour,
Pour faire cela il faut utiliser les tâches CRON.
Tu trouveras un début de réponse sur
ce post
Posté : 05 mai 2008, 18:48
par AB
Une tâche cron s'effectue régulièrement suivant l'interval de temps que tu défini. Tous les jours à 24h01 par exemple tu pourrais faire une requête sur ta bdd pour savoir si certains prix doivent être mis à jour en comparant avec les dates.
Tu pourrais effectuer cette comparaison également à chaque requête mais ce serait beaucoup plus lourd pour le serveur et la solution du cron est dans ce cas la meilleure.
Posté : 06 mai 2008, 00:35
par Hywan
Hey

,
Ou sinon tu embauches un petit chinois, ça pourrait peut-être sauver l'usine de mon père ...

Posté : 06 mai 2008, 10:02
par guigui69
Donc il faudrait que je parte sur une base avec cron.
Car le but c'est que ça soit les utilisateurs qui renseigne cette page (php), avec le nom du produit le nouveau prix et la date.
L'exécution de la requête serait gérer en php avec une comparaison de date.
c'est bien ca?
Comment je doit mis prendre ? au niveau mysql ou en php?
merci pour votre aide
guigui69
---------------------------------------------------------------------------------
MAJ, j'ai imaginé ceci:
Une table qui va s'appeler cron_modif_m
avec comme champs:
id_cron_modif_m
code_m
pu_m_cron_modif_m
coef_pdr_mat_cron_modif_m
pu_pdr_mar_cron_modif_m
date_cron_modif_m
Dans cette table serait enregistré par les utilisateur les futurs modification de prix.
le script php
<?php
information de connections
$date = date("d-m-Y");
$sql1= "Select
id_cron_modif_m, code_m, pu_m_cron_modif_m, coef_pdr_mat_cron_modif_m, pu_pdr_mat_cron_modif_m, date_cron_modif_m
FROM cron_modif_m
WHERE date_cron_modif_m = $date;";
$query1= mysql_query($sql1) or die ('erreur');
while ($ligne1 = mysql_fetch_array($query1)){
$sql2= UPDATE matiere values ( pu_m= $ligne["pu_m_cron_modif_m"], coef_pdr_mat= $ligne["coef_pdr_mat_cron_modif_m"], pu_pdr_mat=$ligne["pu_pdr_mat_modif_m]) where code_m =$ligne["code_m"]
$query2= mysql_query($sql2) or die ('erreur');
mysql_free_result($query2);
}
?>
Cela vous semble correct ou bien ce n'ai pas réalisable? c'est déconseillé?
Merci d'avance pour votre aide
guigui69
Posté : 11 mai 2008, 19:40
par guigui69
Re bonjour à tous,
Est que la méthode que j'ai décrit plus haut est la bonne ou il est déconseillé ou impossible de faire comme ceci?
Merci
guigui69
Posté : 11 mai 2008, 22:18
par Aureusms
Bien je gère une base de donnée pour les mêmes données (lol) donc voici ma méthode : affectation des prix à un moment donné + présence sur le marché à un moment précis. J'ai donc créé tout simplement une colonne date_utilisation avec un timestamp d'utilisation. Ensuite je la compare avec la date d'aujourd'hui et si ce timestamp est inférieur, la référence est utilisée (ou le prix dans ton cas).
Posté : 12 mai 2008, 00:49
par caroube
Il ne faut surtout pas écraser les prix des produits dans la base de données. Imagine qu'un type fasse un achat avant le 1er juin, puis que vous soyez amené à rembourser après le 1er juin parce que la livraison s'est perdue. Si tu as écrasé le prix, ça va être galère pour faire la facture d'avoir.
Tu peux avoir le cas d'un devis établi sur les anciens prix, accepté par le client sur cette base et la facture établie après le changement de prix. Tu peux avoir un commercial qui a passé un accord avec certains de ses clients pour que certaines livraisons se fassent à l'ancien tarif ...
Personnellement, je mettrais en place un système avec des tarifs date à date. On compare la date du jour avec la date de la facture (ou la date du devis) et on choisit le tarif. Mais ce système est débrayable pour appliquer l'ancien tarif après le changement.
Crois-moi, dans le domaine de la vente, même s'ils affirment le contraire, les commerciaux ont des pratiques particulièrement tordues. Si tu pars sur un truc trop basique, ça va coincer. Il faut absolument que tu te fasses préciser ce fonctionnement de changement de tarif dans les détails, en imaginant les cas les plus compliqués et en voyant plusieurs personnes de niveau hiérarchique différent (le directeur commercial ne sait pas forcément comment travaillent ses équipes, mais c'est lui qui prend les décisions).
Bon courage.
Posté : 12 mai 2008, 23:01
par guigui69
Merci pour vos réponses.
Ma base de donnée ne sert uniquement a réaliser les prix de revient pour réaliser nos produits (croissant etc..). Donc des que le prix d'une matière première (de nos fournisseurs) change on la change dans la base, pour que cela affecte le calcul de nos recette de prix.
Vous croyez que je doit monter un système de ce genre? (désolé je début en bdd et php)
merci d'avance d'éclaircir mes pensées.
guigui69
Posté : 12 mai 2008, 23:35
par Calimero
Vous croyez que je doit monter un système de ce genre? (désolé je début en bdd et php)
Je suis de l'avis de
caroube et je ne l'aurais pas mieux exprimé qu'il ne l'a fait

Posté : 13 mai 2008, 09:28
par guigui69
D'accord,
Comment mettre sa en place? Auriez-vous des exemples a me montrer?
Merci d'avance
guigui69