Aller au contenu

Bdd, increment toute les heure +1


Sujets conseillés

Posté

Hello,

en utilisant une "tache planifiée" par exemple (cron, webcron, etc).

Il me semble que c'est prévu en interne dans MySQL, mais pas dans les versions actuelles.

Posté (modifié)

Sans vouloir être méchant, ça me semble pourtant niveau débutant.

Donc soit tu ne connais vraiment pas bien PHP, soit on a pas compris le problème... donc va falloir nous en dire plus. Sur quoi bloques tu exactement ?

Modifié par Kioob
Posté

Bonjour,

Comme le dis Kioob, tu peux utiliser une tache automatique (cron)(qui se lance toutes les heures) qui lance un script php qui lui incrémente ta base de données.

@+

Posté

Bonjour,

Si la tache n'est pas trop critique et que tu peux te permettre de faire confiance à un service externe, il te suffira de saisir l'url de ton script d'incrémentation dans un service comme celui-ci :

http://www.webcron.org/

Et il n'y a rien d'autre à faire :)

Posté

Je vais essayer par cron, .

Le script c'est:

J'ai une bdd avec une table.

Dedans je met 1.

J'aimerai que toute les heures elle s'increment de 1.

Donc imaginons 3h se sont ecoulé, et bien ma table contiendra le chiffre 4, 1+3h=4.

Voila, jespere que cela est comprehensible.

Je suis desolé, je n'ai jamais manipuler les heures, c'est pour cela que je bloque.

(a part aficher la date).

Posté

Dans ta crontab tu peux ajouter la ligne suivante par exemple:

0 *	*  *  *	root	/usr/bin/php /chemin/de/ton/script/php/tonscript.php

et ton script php pourrait être:

#!/usr/bin/php
<?php
$connexion=mysql_connect($host,$user,$password) or die("Connexion à la base de données impossible");
$choix_base=mysql_select_db($db,$connexion) or die("Erreur Base de données");
if ($choix_base)
{
$sql="UPDATE table SET ton_champ=(ton_champ+1) where ta_condition";
$req=mysql_query($sql) or die ("Erreur mise à jour de la base de données");
$fermee=mysql_close() or die("Impossible de fermer la base de données");
}
?>

Voila j'espère que ca peut t'aider.

++

Posté

Je dirais que c'est prendre un marteau piqueur pour casser une noix.

Si lors de la première interrogation de ta base du stockes la date sous forme de timestamp (avec time()), pas besoin de rajouter une heure 24 fois par jour.

Tu peux savoir le nombre de jours et heures écoulés à tout moment en retirant cette valeur du résultat que donne time() au moment où tu exécutes ton script.

Cela te donne le temps écoulé en secondes. Si tu veux des heures, tu divises par 3600, tout simplement.

Veuillez vous connecter pour commenter

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



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