PHP: variabile che cambia ogni 5 giorni...

  • Creatore Discussione Creatore Discussione theseo
  • Data di inizio Data di inizio

theseo

Utente Attivo
22 Feb 2017
95
5
8
62
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?
 
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);
 
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

Discussioni simili