PHP: variabile che cambia ogni 5 giorni...

theseo

Utente Attivo
22 Feb 2017
88
4
8
57
ciao a tutti, come in oggetto... ho uno script php che fra le altre utilizza una variabile che ogni 5 giorni dev'essere cambiata ed io attualmente ogni 5 giorni... la cambio a mano!!! (ho un elenco di 20 di questi parametri e ogni 5 giorni tolgo quello vecchio e ne metto uno nuovo a rotazione...sigh) > sono un cavernicolo del php e purtroppo non riesco a immaginare come realizzare un sistema che legga il mio elenco di 20 ed ogni 5 giorni lo cambi DA SOLO...
mi potete aiutare x favore?
 

Tommy03

Utente Attivo
6 Giu 2018
425
45
28
17
Bassano del Grappa (VI)
Puoi provare a fare una cosa del genere, anche se si tratta di JavaScript puoi comunque integrare variabili PHP:
PHP:
function boh(){
//la funzione che cambia la variabile
}
boh();
function ok(){
    boh();
}
setInterval(ok,5*24*60*60*1000);
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
prova questo codice,
ho lasciato un po' di date per vedere l'effetto che fa, restituendo una lettera dell'alfabeto (la tua variabile)
PHP:
<?php
echo day5("2019-10-14");
echo day5("2019-10-15");
echo day5("2019-10-16");
echo day5("2019-10-17");
echo day5("2019-10-18");
echo day5("2019-10-19");
echo day5("2019-10-20");
echo day5("2019-10-21");
echo day5("2019-10-22");
echo day5("2019-10-23");
echo day5("2019-10-24");
echo day5("2019-10-25");
echo day5("2019-10-26");
echo day5("2019-10-27");
echo day5("2019-10-28");
echo day5("2019-10-29");
echo day5("2019-10-30");
echo day5("2019-10-31");

function day5($today)
{
    $refDate  = "2019-01-01";                              // data di riferimento per il calcolo

    $refDate  = new DateTime($refDate);

    $today    = new DateTime($today);

    $interval = $refDate->diff($today)->format('%r%a');    // calcola la differenza in giorni tra le 2 date

//  echo "today : ".$today->format("Y-m-d")." start : ".$refDate->format("Y-m-d")." interval : ".$interval;

    $interval = intval( ( $interval % 100 ) / 5 );         // 100 = 5 * 20

//  echo " mod : ".$interval;

    $data = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T"];

    return $data[$interval];
}
?>
RISULTATO

upload_2019-10-14_21-30-45.png
 
  • Like
Reactions: theseo