2 votes

comment stocker une valeur dans la base de données toutes les 24 heures, en php cronjob

J'exécute script avec cronjob pour exécuter script toutes les 24 heures, mais j'ai un problème quand je rafraîchis la page aussi sa mise à jour, je veux exécuter le temps spécifié exécuter script .

J'utilise le code suivant

$dif = time();

if ($dif < time()+1) {

$conn = mysqli_connect("localhost", "root", "", "bitmining");
$test = "Hello";
$las_d = date("y-m-d");
$sql3 = "INSERT INTO php_cron(last_ts, value) VALUES('$las_d','$test')";
    mysqli_query($conn, $sql3);
    echo "Updated!";
}

Je suis novice en php. Quelqu'un peut-il m'aider à résoudre ce problème ?

0voto

Liniks Points 16

Résolvez le problème du stockage de la date dans la base de données à chaque fois que vous exécutez CRON.

Vérifiez-le avant de l'insérer.

<?php
$conn = mysqli_connect("localhost", "root", "", "bitmining");
$dif = time();
$date = "SELECT date_insert FROM php_cron ORDER BY date ASC LIMIT 1";
//84300 are 24h in seconds.
if ($date+84300 > time()){
    if ($conn){
        $sql3 = "INSERT INTO php_cron(last_ts, value, date_insert) VALUES('$las_d','$test','".time()."')";

        if (mysqli_query($conn, $sql3))
        {
            echo "Updated!";
        }
        else
        {
            echo "There is an error.";
        }
    }
}
else {
echo "Not yet!";
}
?>

0voto

Liniks Points 16

Je pense que ça va marcher en copiant. Essayons !

 <?php
$conn = mysqli_connect("localhost", "root", "", "stacks");
$dif = time();
$sql = "SELECT date_insert FROM php_cron ORDER BY date_insert DESC LIMIT 1";
$old_date = mysqli_query($conn, $sql);
if ($old_date->num_rows > 0) {
    $older_date = $old_date->fetch_assoc()['date_insert'];
    $now_date = date_create(date('Y-m-d H:i:s'));
    $old_timestamp = date_create(date( "Y-m-d H:i:s", strtotime( $older_date ) ));
    $diff=date_diff($old_timestamp,$now_date);

    if ($diff->days >= 1){
        if ($conn){
            $las_d = "Input here your values";
            $test = "Input here your values";
            $now_date_updated = date('Y-m-d H:i:s');
            $sql3 = "INSERT INTO php_cron(last_ts, value, date_insert) VALUES('".$las_d."','".$test."','".$now_date_updated."')";

            if (mysqli_query($conn, $sql3))
            {
                echo "Updated!";
            }
            else
            {
              echo "There is an error.";
            }
        }
    }
    else {
    echo "Not yet!";
    }
}

?>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X